Browse Source

变更单位,审批流程bug修复

ellisran 10 months ago
parent
commit
c5d5870dc5

+ 12 - 3
app/controller/tender_controller.js

@@ -1021,13 +1021,22 @@ module.exports = app => {
                 // }
                 await ctx.service.tenderInfo.saveTenderInfo(ctx.tender.id, { shenpi: postData });
                 let auditList = [];
+                let groupList = [];
                 if (data.status === shenpiConst.sp_status.gdspl) {
-                    const group = await ctx.service.shenpiGroup.getGroupBySelect(ctx.tender.id, shenpiConst.sp_type[data.code]);
-                    auditList = await ctx.service.shenpiAudit.getAuditGroupList(ctx.tender.id, shenpiConst.sp_type[data.code], data.status, group ? group.id : 0);
+                    groupList = await ctx.service.shenpiGroup.getGroupList(ctx.tender.id, shenpiConst.sp_type[data.code]) || [];
+                    if (groupList && groupList.length > 0) {
+                        for (const group of groupList) {
+                            if (group.change_type) group.change_type = JSON.parse(group.change_type);
+                            group.auditGroupList = await ctx.service.shenpiAudit.getAuditGroupList(ctx.tender.id, shenpiConst.sp_type[data.code], data.status, group.id);
+                            if (group.is_select) auditList = group.auditGroupList;
+                        }
+                    } else {
+                        auditList = await ctx.service.shenpiAudit.getAuditGroupList(ctx.tender.id, shenpiConst.sp_type[data.code], data.status);
+                    }
                 } else if (data.status === shenpiConst.sp_status.gdzs) {
                     auditList = await ctx.service.shenpiAudit.getAudit(ctx.tender.id, shenpiConst.sp_type[data.code], data.status);
                 }
-                ctx.body = { err: 0, msg: '', data: auditList };
+                ctx.body = { err: 0, msg: '', data: { auditList, groupList } };
             } catch (err) {
                 this.log(err);
                 ctx.body = this.ajaxErrorBody(err, '保存审批流程设置失败');

+ 12 - 1
app/public/js/change_company.js

@@ -46,7 +46,18 @@ $(document).ready(() => {
                 $('#editcompany').modal('hide');
                 toastr.success('变更单位已更新');
                 $('#updatecompany').attr('disabled',false);
-                changeInfo.company = $('#company').val();
+                let hadChange = true;
+                $('#company option').each(function(){
+                    if ($(this).val() === changeInfo.company) {
+                        hadChange = false;
+                        return;
+                    }
+                });
+                if (hadChange) {
+                    changeInfo.company = $('#company').val();
+                } else {
+                    $('#company').val(changeInfo.company);
+                }
                 judgeChange();
             });
         }else{

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

@@ -1934,6 +1934,7 @@ $(document).ready(() => {
         changeInfo.basis = changeInfo.basis.replace(/<br><br>/g, '\r\n');
         changeInfo.expr = changeInfo.expr.replace(/<br><br>/g, '\r\n');
         changeInfo.memo = changeInfo.memo.replace(/<br><br>/g, '\r\n');
+        changeInfo.company = $('#change_form select[name="company"]').val();
         // 后改为br
         // 更新至服务器
         postData(window.location.pathname + '/save', { type:'info', updateData: changeInfo }, function (result) {

+ 25 - 22
app/public/js/shenpi.js

@@ -340,7 +340,7 @@ $(document).ready(function () {
             let addhtml = '';
             if (flow.auditGroupList.length !== 0) {
                 for(const [i, auditGroup] of flow.auditGroupList.entries()) {
-                    addhtml += auditUtils.getAuditGroupHtml(this_code, auditGroup, i + 1);
+                    addhtml += this.getAuditGroupHtml(this_code, auditGroup, i + 1);
                 }
                 const addGroupHtml = this_code === 'change' && (!flow.groupList || (flow.groupList && flow.groupList.length === 0)) ?
                     `<span class="pl-3"><a href="javascript:void(0);" class="show-spzsave" data-code="${this_code}"><i class="fa fa-save"></i> 存为审批组</a></span>\n` : '';
@@ -348,7 +348,7 @@ $(document).ready(function () {
                     '                                            <span class="pl-3"><a href="javascript:void(0);" class="add-audit" ><i class="fa fa-plus"></i> 添加流程</a></span>\n' + addGroupHtml +
                     '                                        </li>';
             } else {
-                addhtml += auditUtils.getAuditGroupHtml(this_code, [], 1);
+                addhtml += this.getAuditGroupHtml(this_code, [], 1);
             }
             return addhtml;
         },
@@ -458,7 +458,8 @@ $(document).ready(function () {
                 _self.parents('.form-group').siblings('.lc-show').html('');
             } else if (this_status === sp_status.gdspl) {
                 const flow = sp_lc.find(x => { return x.code === this_code; });
-                flow.auditGroupList = data;
+                flow.auditGroupList = data.auditList;
+                flow.groupList = data.groupList;
                 let addhtml = auditUtils.getGroupHtml(flow, this_code);
                 addhtml += '<ul class="list-unstyled">\n';
                 addhtml += auditUtils.getgdsplHtml(flow, this_code);
@@ -472,7 +473,7 @@ $(document).ready(function () {
                     '                                                <span class="d-inline-block"></span>\n' +
                     '                                            </span>\n' +
                     '                                        </li>\n';
-                addhtml += data ? makeAudit(data) : makeSelectAudit(this_code);
+                addhtml += data.auditList ? makeAudit(data.auditList) : makeSelectAudit(this_code);
                 addhtml += '</ul>\n';
                 _self.parents('.form-group').siblings('.lc-show').html(addhtml);
             }
@@ -1135,21 +1136,21 @@ $(document).ready(function () {
         }
         console.log(prop);
         postData('/tender/' + cur_tenderid + '/shenpi/audit/save', prop, function (data) {
-            sp_lc[sp_type[code]].auditGroupList = data.group.auditGroupList || [];
+            flow.auditGroupList = data.group.auditGroupList || [];
             if (groupId) {
-                const index = sp_lc[sp_type[code]].groupList.findIndex(x => { return x.id === parseInt(groupId); });
-                sp_lc[sp_type[code]].groupList[index] = data.group;
+                const index = flow.groupList.findIndex(x => { return x.id === parseInt(groupId); });
+                flow.groupList[index] = data.group;
             } else {
-                if (!sp_lc[sp_type[code]].groupList) sp_lc[sp_type[code]].groupList = [];
-                for (const g of sp_lc[sp_type[code]].groupList) {
+                if (!flow.groupList) flow.groupList = [];
+                for (const g of flow.groupList) {
                     g.is_select = 0;
                 }
-                sp_lc[sp_type[code]].groupList.push(data.group);
+                flow.groupList.push(data.group);
             }
             // 配置页面
-            let addhtml = auditUtils.getGroupHtml(sp_lc[sp_type[code]], code);
+            let addhtml = auditUtils.getGroupHtml(flow, code);
             addhtml += '<ul class="list-unstyled">\n';
-            addhtml += auditUtils.getgdsplHtml(sp_lc[sp_type[code]], code);
+            addhtml += auditUtils.getgdsplHtml(flow, code);
             addhtml += '</ul>\n';
             $('.' + code + '_div').children('.lc-show').html(addhtml);
             $('#spzsave').modal('hide');
@@ -1159,6 +1160,7 @@ $(document).ready(function () {
     // 切换审批组
     $('body').on('change', '.group-list', function () {
         const this_code = $(this).parents('.lc-show').siblings('.form-group').find('input:checked').data('code');
+        const flow = sp_lc.find(x => { return x.code === this_code; });
         const groupId = parseInt($(this).val());
         const _self = $(this);
         const prop = {
@@ -1166,13 +1168,13 @@ $(document).ready(function () {
             groupId,
         }
         postData('/tender/' + cur_tenderid + '/shenpi/audit/save', prop, function (data) {
-            sp_lc[sp_type[this_code]].groupList.forEach(function (item) {
+            flow.groupList.forEach(function (item) {
                 item.is_select = 0;
             });
-            const group = sp_lc[sp_type[this_code]].groupList.find(x => { return x.id === groupId; });
+            const group = flow.groupList.find(x => { return x.id === groupId; });
             group.is_select = 1;
-            sp_lc[sp_type[this_code]].auditGroupList = group.auditGroupList;
-            const addhtml = auditUtils.getgdsplHtml(sp_lc[sp_type[this_code]], this_code);
+            flow.auditGroupList = group.auditGroupList;
+            const addhtml = auditUtils.getgdsplHtml(flow, this_code);
             _self.parents('.lc-show').children('ul').html(addhtml);
             _self.parents('.lc-show').find('.edit-spzsave').attr('data-group', groupId);
         });
@@ -1209,14 +1211,15 @@ $(document).ready(function () {
         }
         console.log(prop);
         postData('/tender/' + cur_tenderid + '/shenpi/audit/save', prop, function (data) {
-            const index = sp_lc[sp_type[code]].groupList.findIndex(x => { return x.id === group.id; });
-            sp_lc[sp_type[code]].groupList.splice(index, 1);
-            sp_lc[sp_type[code]].auditGroupList = sp_lc[sp_type[code]].groupList.length > 0 ? sp_lc[sp_type[code]].groupList[0].auditGroupList : [];
-            if (sp_lc[sp_type[code]].groupList.length > 0) sp_lc[sp_type[code]].groupList[0].is_select = 1;
+            const flow = findSplc(code);
+            const index = flow.groupList.findIndex(x => { return x.id === group.id; });
+            flow.groupList.splice(index, 1);
+            flow.auditGroupList = flow.groupList.length > 0 ? flow.groupList[0].auditGroupList : [];
+            if (flow.groupList.length > 0) flow.groupList[0].is_select = 1;
             // 配置页面
-            let addhtml = auditUtils.getGroupHtml(sp_lc[sp_type[code]], code);
+            let addhtml = auditUtils.getGroupHtml(flow, code);
             addhtml += '<ul class="list-unstyled">\n';
-            addhtml += auditUtils.getgdsplHtml(sp_lc[sp_type[code]], code);
+            addhtml += auditUtils.getgdsplHtml(flow, code);
             addhtml += '</ul>\n';
             $('.' + code + '_div').children('.lc-show').html(addhtml);
             $('#spzdelete').modal('hide');