Forráskód Böngészése

变更添加台账清单

ellisran 10 hónapja
szülő
commit
8019bb3d5a

+ 4 - 0
app/controller/change_controller.js

@@ -667,6 +667,10 @@ module.exports = app => {
                         await ctx.service.changeAuditList.dels(data);
                         responseData.data = { changeList: await ctx.service.changeAuditList.getList(ctx.change.cid) };
                         break;
+                    case 'get-revise-list':
+                        responseData.data.changeLedgerList = await ctx.service.changeLedger.getAllDataByCondition({ where: { tender_id: ctx.tender.id } });
+                        responseData.data.changePosList = await ctx.service.changePos.getAllDataByCondition({ where: { tid: ctx.tender.id } });
+                        break;
                     default: throw '参数有误';
                 }
 

+ 12 - 0
app/public/js/change_information_add_list.js

@@ -674,6 +674,18 @@ $(document).ready(() => {
             toastr.warning('未存在当前变更令新增的部位/清单');
         }
     });
+
+    $('#show-select-btn').click(function() {
+        if ($(this).is(':checked')) {
+            const selectList = changeListData.filter(function (item) {
+                return item.is_change === 1;
+            });
+            SpreadJsObj.loadSheetData(gclSpreadSheet, SpreadJsObj.DataType.Data, selectList);
+        } else {
+            SpreadJsObj.loadSheetData(gclSpreadSheet, SpreadJsObj.DataType.Data, changeListData);
+        }
+        gclSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(gclSpreadSheet));
+    });
 });
 function checkSelectAll(data) {
     let check = false;

+ 77 - 1
app/public/js/change_revise.js

@@ -615,7 +615,6 @@ $(document).ready(() => {
                         info.sheet.endEdit(true);
                     }
                     const is_change = info.sheet.getValue(info.row, info.col) ? 1 : 0;
-                    console.log(select, is_change);
                     if (is_change) {
                         makeGclGatherData();
                         const gclInfo = _.find(gclGatherData, function (item) {
@@ -3950,6 +3949,83 @@ if (openRevise) {
             }
             $('#change-dsk-project').html(html);
         }
+
+        // 选中所有新增部位/清单
+        $('#add-all-revise').click(function() {
+            const this_cid = window.location.pathname.split('/')[4];
+            makeGclGatherData();
+            postData('/tender/' + window.location.pathname.split('/')[2] + '/change/' + window.location.pathname.split('/')[4] + '/information/save', {
+                type: 'get-revise-list',
+            }, function (result) {
+                const addDatas = [];
+                for (const ggd in gclGatherData) {
+                    gclGatherData[ggd].code = gclGatherData[ggd].b_code;
+                    let hadcid = 0;
+                    for (const xmj of gclGatherData[ggd].leafXmjs) {
+                        const changeLedger = _.find(result.changeLedgerList, {id: xmj.gcl_id});
+                        const changePos = _.find(result.changePosList, {id: xmj.mx_id, lid: xmj.gcl_id});
+                        if (changeLedger || changePos) {
+                            xmj.cid = 1;
+                            xmj.ccid = changePos ? changePos.ccid : changeLedger ? changeLedger.ccid : 0;
+                            hadcid = 1;
+                        }
+                    }
+                    if (hadcid !== 0) gclGatherData[ggd].cid = 1;
+                }
+                for (const gclInfo of _.filter(gclGatherData, {cid: 1})) {
+                    const leafXmjs = _.filter(gclInfo.leafXmjs, {ccid: this_cid});
+                    if (leafXmjs.length > 0) {
+                        gclInfo.is_change = 1;
+                        for (const xmj of leafXmjs) {
+                            if (_.findIndex(changeList, function (item) {
+                                return item.gcl_id === xmj.gcl_id && item.mx_id === (xmj.mx_id || '');
+                            }) === -1) {
+                                addDatas.push({
+                                    lid: xmj.gcl_id,
+                                    code: gclInfo.code,
+                                    name: gclInfo.name || '',
+                                    unit: gclInfo.unit || '',
+                                    unit_price: gclInfo.unit_price,
+                                    oamount: xmj.quantity,
+                                    oamount2: xmj.quantity,
+                                    bwmx: xmj.bwmx || xmj.jldy || '',
+                                    xmj_code: xmj.code || '',
+                                    xmj_jldy: xmj.jldy || '',
+                                    xmj_dwgc: xmj.dwgc || '',
+                                    xmj_fbgc: xmj.fbgc || '',
+                                    xmj_fxgc: xmj.fxgc || '',
+                                    gcl_id: xmj.gcl_id,
+                                    mx_id: xmj.mx_id || '',
+                                });
+                            }
+                        }
+                    }
+                }
+                console.log(addDatas);
+                if (addDatas.length > 0) {
+                    // 更新至服务器
+                    postData('/tender/' + window.location.pathname.split('/')[2] + '/change/' + window.location.pathname.split('/')[4] + '/information/save', {
+                        type: 'add-change-list',
+                        postData: addDatas,
+                    }, function (result) {
+                        toastr.success('已新增当前变更令新增的所有部位/清单');
+                        changeList = result.changeList;
+                        const sortData = SpreadJsObj.getSortData(billsSheet);
+                        const billsNodes = _.filter(sortData, function (item) {
+                            return _.findIndex(addDatas, {gcl_id: item.id}) !== -1;
+                        });
+                        for (const billsNode of billsNodes) {
+                            billsNode.is_change = 1;
+                        }
+                        const loadResult = { update: billsNodes };
+                        billsTreeSpreadObj.refreshTree(billsSheet, loadResult);
+                        posSpreadObj.loadCurPosData();
+                    });
+                } else {
+                    toastr.warning('未存在当前变更令新增的部位/清单');
+                }
+            });
+        });
     }
 }
 });

+ 6 - 0
app/view/change/addlist.ejs

@@ -9,6 +9,12 @@
                         插入到:变更清单<%- change.order_site_msg.code %> 之后
                     </div>
                 <% } %>
+                <div class="d-inline-block">
+                    <div class="custom-control custom-checkbox">
+                        <input type="checkbox" class="custom-control-input" id="show-select-btn">
+                        <label class="custom-control-label" for="show-select-btn">已勾选清单</label>
+                    </div>
+                </div>
             </div>
             <% if (ctx.session.sessionProject.page_show.openChangeRevise) { %>
             <div class="ml-auto">

+ 1 - 0
app/view/change/revise.ejs

@@ -50,6 +50,7 @@
             </div>
             <% if (ctx.session.sessionProject.page_show.openChangeRevise) { %>
             <div class="ml-auto">
+                <a class="btn btn-sm btn-primary mr-1" id="add-all-revise" href="javascript: void(0);">添加当前新增部位/清单</a>
                 <a class="btn btn-sm btn-primary mr-1" id="ledger-check2" href="javascript: void(0);">数据检查</a>
             </div>
             <% } %>