Browse Source

变更增加所属项目节

laiguoran 4 years ago
parent
commit
d724d5e911

+ 22 - 0
app/public/js/change_information.js

@@ -216,6 +216,28 @@ $(document).ready(() => {
             $('#syfujian .check-all-file').prop('checked', false)
             $('#syfujian .check-all-file').prop('checked', false)
         }
         }
     });
     });
+
+    // 项目节信息获取
+    const xmjSpreadSetting = {
+        cols: [
+            {title: '项目节编号', colSpan: '1', rowSpan: '2', field: 'xmj_code', hAlign: 0, width: 80},
+            {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 120},
+            {title: '细目', colSpan: '1', rowSpan: '2', field: 'xmj_jldy', hAlign: 0, width: 100},
+            {title: '单位工程', colSpan: '1', rowSpan: '2', field: 'xmj_dwgc', hAlign: 0, width: 100},
+            {title: '分部工程', colSpan: '1', rowSpan: '2', field: 'xmj_fbgc', hAlign: 0, width: 100},
+            {title: '分项工程', colSpan: '1', rowSpan: '2', field: 'xmj_fxgc', hAlign: 0, width: 100},
+            {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'bwmx', hAlign: 0, width: 100},
+            {title: '数量', colSpan: '1', rowSpan: '2', field: 'oamount', hAlign: 2, width: 80},
+        ],
+        emptyRows: 0,
+        headRows: 1,
+        headRowHeight: [25, 25],
+        defaultRowHeight: 21,
+        headerFont: '12px 微软雅黑',
+        font: '12px 微软雅黑',
+        readOnly: true,
+    };
+    SpreadJsObj.initSheet(xmjSpread.getActiveSheet(), xmjSpreadSetting);
 });
 });
 function findDecimal(unit) {
 function findDecimal(unit) {
     let value = precision.other.value;
     let value = precision.other.value;

+ 17 - 0
app/public/js/change_information_approval.js

@@ -105,6 +105,20 @@ $(document).ready(() => {
                 }
                 }
             }
             }
         },
         },
+        resetXmjSpread: function(data = null) {
+            const xmj = [];
+            if (data && data.lid != 0 && data.xmj_code !== '' && data.xmj_code !== null) {
+                if (data.bwmx === data.xmj_jldy) {
+                    data.bwmx = '';
+                }
+                xmj.push(data);
+            }
+            SpreadJsObj.loadSheetData(xmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, xmj);
+        },
+        selectionChanged: function (e, info) {
+            const data = SpreadJsObj.getSelectObject(info.sheet);
+            changeSpreadObj.resetXmjSpread(data);
+        },
         setRowValueAndSum: function (data, row, col) {
         setRowValueAndSum: function (data, row, col) {
             for (const j in aidList) {
             for (const j in aidList) {
                 const sum = ZhCalc.round(ZhCalc.mul(data.unit_price, parseFloat(changeSpreadSheet.getValue(row, 10 + parseInt(j)*2))), totalPriceUnit);
                 const sum = ZhCalc.round(ZhCalc.mul(data.unit_price, parseFloat(changeSpreadSheet.getValue(row, 10 + parseInt(j)*2))), totalPriceUnit);
@@ -266,6 +280,7 @@ $(document).ready(() => {
                 SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
                 SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
                 changeSpreadObj.setAuditValue();
                 changeSpreadObj.setAuditValue();
                 changeSpreadObj.makeSjsFooter();
                 changeSpreadObj.makeSjsFooter();
+                changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
             }, function () {
             }, function () {
                 SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount);
                 SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount);
                 changeSpreadObj.setAuditValue();
                 changeSpreadObj.setAuditValue();
@@ -279,10 +294,12 @@ $(document).ready(() => {
     SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
     SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
     changeSpreadObj.setAuditValue();
     changeSpreadObj.setAuditValue();
     changeSpreadObj.makeSjsFooter();
     changeSpreadObj.makeSjsFooter();
+    changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
     const userIndex = aidList.indexOf(parseInt(accountId));
     const userIndex = aidList.indexOf(parseInt(accountId));
 
 
     changeSpread.bind(spreadNS.Events.EditEnded, changeSpreadObj.editEnded);
     changeSpread.bind(spreadNS.Events.EditEnded, changeSpreadObj.editEnded);
     changeSpread.bind(spreadNS.Events.ClipboardPasted, changeSpreadObj.clipboardPasted);
     changeSpread.bind(spreadNS.Events.ClipboardPasted, changeSpreadObj.clipboardPasted);
+    changeSpread.bind(spreadNS.Events.SelectionChanged, changeSpreadObj.selectionChanged);
     SpreadJsObj.addDeleteBind(changeSpread, changeSpreadObj.deletePress);
     SpreadJsObj.addDeleteBind(changeSpread, changeSpreadObj.deletePress);
 
 
 
 

+ 18 - 0
app/public/js/change_information_set.js

@@ -152,6 +152,7 @@ $(document).ready(() => {
                     SpreadJsObj.reLoadRowData(changeSpreadSheet, changeList.length - 1);
                     SpreadJsObj.reLoadRowData(changeSpreadSheet, changeList.length - 1);
                     changeSpreadSheet.setStyle(changeSpreadSheet.getRowCount() - 1, -1, style1);
                     changeSpreadSheet.setStyle(changeSpreadSheet.getRowCount() - 1, -1, style1);
                     changeSpreadSheet.setSelection(changeList.length - 1, 0, 1, 1);
                     changeSpreadSheet.setSelection(changeList.length - 1, 0, 1, 1);
+                    changeSpreadObj.resetXmjSpread();
                 }
                 }
             });
             });
         },
         },
@@ -164,6 +165,7 @@ $(document).ready(() => {
                     changeSpreadSheet.deleteRows(index, 1);
                     changeSpreadSheet.deleteRows(index, 1);
                     const sel = changeSpreadSheet.getSelections();
                     const sel = changeSpreadSheet.getSelections();
                     changeSpreadSheet.setSelection(0, 0, 1, 1);
                     changeSpreadSheet.setSelection(0, 0, 1, 1);
+                    changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
                     if (select.lid != 0) {
                     if (select.lid != 0) {
                         tableDataRemake(changeListData);
                         tableDataRemake(changeListData);
                     }
                     }
@@ -171,6 +173,16 @@ $(document).ready(() => {
                 });
                 });
             }
             }
         },
         },
+        resetXmjSpread: function(data = null) {
+            const xmj = [];
+            if (data && data.lid != 0 && data.xmj_code !== '' && data.xmj_code !== null) {
+                if (data.bwmx === data.xmj_jldy) {
+                    data.bwmx = '';
+                }
+                xmj.push(data);
+            }
+            SpreadJsObj.loadSheetData(xmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, xmj);
+        },
         selectionChanged: function (e, info) {
         selectionChanged: function (e, info) {
             const sel = info.sheet.getSelections()[0];
             const sel = info.sheet.getSelections()[0];
             const col = info.sheet.zh_setting.cols[sel.col];
             const col = info.sheet.zh_setting.cols[sel.col];
@@ -178,6 +190,7 @@ $(document).ready(() => {
             if (col && col.field === 'del_list') {
             if (col && col.field === 'del_list') {
                 changeSpreadObj.del();
                 changeSpreadObj.del();
             }
             }
+            changeSpreadObj.resetXmjSpread(data);
         },
         },
         deletePress: function (sheet) {
         deletePress: function (sheet) {
             return;
             return;
@@ -320,6 +333,7 @@ $(document).ready(() => {
                 changeList = result;
                 changeList = result;
                 SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
                 SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
                 changeSpreadObj.makeSjsFooter();
                 changeSpreadObj.makeSjsFooter();
+                changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
             }, function () {
             }, function () {
                 SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount);
                 SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount);
                 return;
                 return;
@@ -385,6 +399,7 @@ $(document).ready(() => {
         SpreadJsObj.initSheet(changeSpreadSheet, changeSpreadSetting);
         SpreadJsObj.initSheet(changeSpreadSheet, changeSpreadSetting);
         SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
         SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
         changeSpreadObj.makeSjsFooter();
         changeSpreadObj.makeSjsFooter();
+        changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
     });
     });
 
 
     if (!readOnly) {
     if (!readOnly) {
@@ -426,6 +441,7 @@ $(document).ready(() => {
                     disabled: function (key, opt) {
                     disabled: function (key, opt) {
                         const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
                         const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
                         const sel = changeSpreadSheet.getSelections()[0];
                         const sel = changeSpreadSheet.getSelections()[0];
+                        changeSpreadObj.resetXmjSpread(select);
                         console.log(select, sel);
                         console.log(select, sel);
                         if (!readOnly && select && sel.row !== changeSpreadSheet.getRowCount() - 1) {
                         if (!readOnly && select && sel.row !== changeSpreadSheet.getRowCount() - 1) {
                             return false;
                             return false;
@@ -549,6 +565,8 @@ $(document).ready(() => {
             changeList = result;
             changeList = result;
             SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
             SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
             changeSpreadObj.makeSjsFooter();
             changeSpreadObj.makeSjsFooter();
+            const select = SpreadJsObj.getSelectObject(changeSpreadSheet);
+            changeSpreadObj.resetXmjSpread(select);
             $('#addlist').modal('hide');
             $('#addlist').modal('hide');
         }, function () {
         }, function () {
             $('#addlist').modal('hide');
             $('#addlist').modal('hide');

+ 16 - 0
app/public/js/change_information_show.js

@@ -97,6 +97,20 @@ $(document).ready(() => {
             changeSpreadSheet.setStyle(changeSpreadSheet.getRowCount() - 1, -1, style1);
             changeSpreadSheet.setStyle(changeSpreadSheet.getRowCount() - 1, -1, style1);
             changeSpreadObj.countSum();
             changeSpreadObj.countSum();
         },
         },
+        resetXmjSpread: function(data = null) {
+            const xmj = [];
+            if (data && data.lid != 0 && data.xmj_code !== '' && data.xmj_code !== null) {
+                if (data.bwmx === data.xmj_jldy) {
+                    data.bwmx = '';
+                }
+                xmj.push(data);
+            }
+            SpreadJsObj.loadSheetData(xmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, xmj);
+        },
+        selectionChanged: function (e, info) {
+            const data = SpreadJsObj.getSelectObject(info.sheet);
+            changeSpreadObj.resetXmjSpread(data);
+        },
         setAuditValue: function () {
         setAuditValue: function () {
             const rowCount = changeSpreadSheet.getRowCount();
             const rowCount = changeSpreadSheet.getRowCount();
             // 用户的数据合计
             // 用户的数据合计
@@ -149,6 +163,8 @@ $(document).ready(() => {
     changeSpreadObj.setAuditValue();
     changeSpreadObj.setAuditValue();
     changeSpreadObj.makeSjsFooter();
     changeSpreadObj.makeSjsFooter();
     changeSpreadObj.showHideAudit();
     changeSpreadObj.showHideAudit();
+    changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
+    changeSpread.bind(spreadNS.Events.SelectionChanged, changeSpreadObj.selectionChanged);
 
 
     // 审批流程展示与隐藏
     // 审批流程展示与隐藏
     $('#show-table-detail').on('click', function (e) {
     $('#show-table-detail').on('click', function (e) {

+ 14 - 1
app/view/change/information.ejs

@@ -352,7 +352,19 @@
                 </div>
                 </div>
             </div>
             </div>
             <div class="c-body col-8">
             <div class="c-body col-8">
-                <div class="sjs-height-0" id="change-spread">
+                <div class="sjs-height-1" id="change-spread">
+                </div>
+                <!--下半部分-->
+                <div class="bcontent-wrap">
+                    <div class="bc-bar mb-1">
+                        <ul class="nav nav-tabs">
+                            <li class="nav-item">
+                                <a class="nav-link active" href="#">所属项目节</a>
+                            </li>
+                        </ul>
+                    </div>
+                    <div class="sp-wrap" id="xmj-spread">
+                    </div>
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>
@@ -379,6 +391,7 @@
     const readOnly = <%- change.readOnly %>;
     const readOnly = <%- change.readOnly %>;
     const changeSpread = SpreadJsObj.createNewSpread($('#change-spread')[0]);
     const changeSpread = SpreadJsObj.createNewSpread($('#change-spread')[0]);
     const changeSpreadSheet = changeSpread.getActiveSheet();
     const changeSpreadSheet = changeSpread.getActiveSheet();
+    const xmjSpread = SpreadJsObj.createNewSpread($('#xmj-spread')[0]);
     let changeList = JSON.parse(unescape('<%- escape(JSON.stringify(changeList)) %>'));
     let changeList = JSON.parse(unescape('<%- escape(JSON.stringify(changeList)) %>'));
     const style1 = new GC.Spread.Sheets.Style();
     const style1 = new GC.Spread.Sheets.Style();
     style1.locked = true;
     style1.locked = true;