Browse Source

调差清单恢复

laiguoran 3 years ago
parent
commit
b25e7adcb9

+ 1 - 1
app/controller/material_controller.js

@@ -595,7 +595,7 @@ module.exports = app => {
                     msg: '',
                     data: {},
                 };
-                if (ctx.session.sessionProject.page_show.openMaterialChecklist && (data.type !== 'join' && data.type !== 'notjoin')) {
+                if (ctx.session.sessionProject.page_show.openMaterialChecklist && (data.type !== 'join' && data.type !== 'notjoin' && data.type !== 'useOther')) {
                     throw '清单设置功能已启动,请前往清单设置页操作清单内容';
                 }
                 switch (data.type) {

+ 40 - 37
app/public/js/material_list.js

@@ -165,6 +165,7 @@ $(document).ready(() => {
             const leafXmjs = gcl.leafXmjs.filter(item => {
                 return item.qc_qty || item.contract_qty
             });
+            console.log(leafXmjs);
             SpreadJsObj.loadSheetData(leafXmjSpread.getActiveSheet(), SpreadJsObj.DataType.Data, leafXmjs);
 
             // 对清单调差工料table的单位数量进行改变
@@ -913,43 +914,6 @@ $(document).ready(() => {
         materialSpread.bind(spreadNS.Events.EditEnded, materialSpreadObj.editEnded);
         materialSpread.bind(spreadNS.Events.ClipboardPasted, materialSpreadObj.clipboardPasted);
         SpreadJsObj.addDeleteBind(materialSpread, materialSpreadObj.deletePress);
-        // 应用调差工料至其他清单明细
-        $('#user_all_material').click(function () {
-            const ledgerSheet = ledgerSpread.getActiveSheet();
-            const ledgerSelect = SpreadJsObj.getSelectObject(ledgerSheet);
-            if (ledgerSelect.leafXmjs.length < 2) {
-                toastr.warning('没有需要应用调差工料的其它清单明细');
-                return false;
-            }
-            const xmjSheet = leafXmjSpread.getActiveSheet();
-            const xmjSelect = SpreadJsObj.getSelectObject(xmjSheet);
-            // 判断需要应用调差工料的清单明细
-            const needAddList = [];
-            for (const xmj of ledgerSelect.leafXmjs) {
-                const notx = findNotJoinLeafXmj(xmj);
-                if (notx === undefined && xmjSelect !== xmj) {
-                    needAddList.push(xmj);
-                }
-            }
-            if (needAddList.length === 0) {
-                toastr.warning('没有需要应用调差工料的其它清单明细');
-                return false;
-            }
-            console.log(needAddList, materialList);
-            // 更新至服务器
-            // postData(window.location.pathname + '/save', { type:'useOther', postData: { addXmj: needAddList, materialBills: materialList } }, function (result) {
-            //     materialListData = result;
-            //     toastr.success('已成功应用');
-            //     calculateJiaCha(gclGatherData);
-            //     const index = gclGatherData.indexOf(ledgerSelect);
-            //     loadLeafXmjData(index);
-            //     const xmjSheet = leafXmjSpread.getActiveSheet();
-            //     const xmjSelect = SpreadJsObj.getSelectObject(xmjSheet);
-            //     const xmjIndex = gclGatherData[index].leafXmjs.indexOf(xmjSelect);
-            //     loadMaterialData(index, xmjIndex);
-            //     SpreadJsObj.reLoadRowData(ledgerSpread.getActiveSheet(), index);
-            // });
-        });
         if (!openMaterialChecklist) {
             $.contextMenu({
                 selector: '#material-spread',
@@ -1005,6 +969,45 @@ $(document).ready(() => {
         }
     }
 
+    // 应用调差工料至其他清单明细
+    $('#user_all_material').click(function () {
+        const ledgerSheet = ledgerSpread.getActiveSheet();
+        const ledgerSelect = SpreadJsObj.getSelectObject(ledgerSheet);
+        if (ledgerSelect.leafXmjs.length < 2) {
+            toastr.warning('没有需要应用调差工料的其它清单明细');
+            return false;
+        }
+        const xmjSheet = leafXmjSpread.getActiveSheet();
+        const xmjSelect = SpreadJsObj.getSelectObject(xmjSheet);
+        console.log(ledgerSelect.leafXmjs);
+        // 判断需要应用调差工料的清单明细
+        const needAddList = [];
+        for (const xmj of ledgerSelect.leafXmjs) {
+            const notx = findNotJoinLeafXmj(xmj);
+            if (notx === undefined && xmjSelect !== xmj && xmj.gather_qty && xmj.jiacha === null && xmjSelect.jiacha !== null) {
+                needAddList.push(xmj);
+            }
+        }
+        // if (needAddList.length === 0) {
+        //     toastr.warning('没有需要应用调差工料的其它清单明细');
+        //     return false;
+        // }
+        console.log(needAddList, materialList);
+        // 更新至服务器
+        postData(window.location.pathname + '/save', { type:'useOther', postData: { addXmj: needAddList, materialBills: materialList } }, function (result) {
+            materialListData = result;
+            toastr.success('已成功应用');
+            calculateJiaCha(gclGatherData);
+            const index = gclGatherData.indexOf(ledgerSelect);
+            loadLeafXmjData(index);
+            const xmjSheet = leafXmjSpread.getActiveSheet();
+            const xmjSelect = SpreadJsObj.getSelectObject(xmjSheet);
+            const xmjIndex = gclGatherData[index].leafXmjs.indexOf(xmjSelect);
+            loadMaterialData(index, xmjIndex);
+            SpreadJsObj.reLoadRowData(ledgerSpread.getActiveSheet(), index);
+        });
+    });
+
     // 切换清单行,读取所属项目节数据
     ledgerSpread.getActiveSheet().bind(spreadNS.Events.SelectionChanged, function (e, info) {
         if (info.oldSelections !== undefined) {

+ 2 - 1
app/service/material_list.js

@@ -160,7 +160,7 @@ module.exports = app => {
                     for (const mb of materialBills) {
                         const newLists = {
                             tid: this.ctx.tender.id,
-                            order: this.ctx.material.order,
+                            order: mb.order,
                             mid: this.ctx.material.id,
                             mb_id: mb.mb_id,
                             gcl_id: xmj.gcl_id,
@@ -168,6 +168,7 @@ module.exports = app => {
                             mx_id: xmj.mx_id ? xmj.mx_id : '',
                             gather_qty: xmj.gather_qty ? xmj.gather_qty : null,
                             quantity: mb.quantity,
+                            expr: mb.expr,
                             in_time: new Date(),
                         };
                         list.push(newLists);

+ 5 - 5
app/view/material/list.ejs

@@ -53,11 +53,11 @@
                             <li class="nav-item">
                                 <a class="nav-link active" data-toggle="tab" href="#xmujie" role="tab">清单明细</a>
                             </li>
-                            <!--<li class="ml-auto">-->
-                            <!--<% if (!material.readOnly) { %>-->
-                            <!--<button class="btn btn-sm btn-primary" id="user_all_material">应用调差工料至其他清单明细</button>-->
-                            <!--<% } %>-->
-                            <!--</li>-->
+                            <li class="ml-auto">
+                            <% if (!material.readOnly || material.status === auditConst.status.checked) { %>
+                            <button class="btn btn-sm btn-primary" id="user_all_material">应用调差工料至其他清单明细</button>
+                            <% } %>
+                            </li>
                         </ul>
                     </div>
                     <div class="sp-wrap" id="leaf-xmj-spread">