浏览代码

变更清单右键新增设置全部清单不计价”和“设置全部清单计价”

ellisran 1 年之前
父节点
当前提交
580bb2f788

+ 5 - 0
app/controller/change_controller.js

@@ -963,6 +963,11 @@ module.exports = app => {
                     case 'changeOrder':
                         await ctx.service.changeAuditList.changeOrder(data.postData);
                         break;
+                    case 'set_all_valuation':
+                        await ctx.service.changeAuditList.setAllValuation(ctx.change.cid, data.is_valuation);
+                        // 取所有工料表
+                        responseData.data = await ctx.service.changeAuditList.getList(ctx.change.cid);
+                        break;
                     default: throw '参数有误';
                 }
 

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

@@ -757,6 +757,23 @@ $(document).ready(() => {
             // 防止ctrl+z撤销数据
             SpreadJsObj.reLoadRowData(info.sheet, info.row);
         },
+        setAllValuation(is_valuation) {
+            if (changeList.length === 0) {
+                toastr.warning('暂无清单无法设置清单计价');
+                return;
+            }
+            const needChangeList = _.filter(changeList, { is_valuation: is_valuation ? 0 : 1 });
+            if (needChangeList.length === 0) {
+                toastr.warning('全部清单已设置清单'+ (is_valuation ? '' : '不') +'计价');
+                return;
+            }
+            postData(window.location.pathname + '/save', { type:'set_all_valuation', is_valuation }, function (result) {
+                changeList = result;
+                SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
+                changeSpreadObj.makeSjsFooter();
+                changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
+            });
+        },
         _checkExprValid(expr) {
             if (!expr) return [true, null];
             const param = [];
@@ -1237,6 +1254,22 @@ $(document).ready(() => {
                         return isUsed;
                     }
                 },
+                sprEdit: '----',
+                'allNotValuation': {
+                    name: '设置全部清单不计价',
+                    icon: 'fa-magic',
+                    callback: function (key, opt) {
+                        changeSpreadObj.setAllValuation(0);
+                    },
+                },
+                'allValuation': {
+                    name: '设置全部清单计价',
+                    icon: 'fa-magic',
+                    callback: function (key, opt) {
+                        changeSpreadObj.setAllValuation(1);
+                    },
+                },
+
             }
         });
 

+ 8 - 0
app/service/change_audit_list.js

@@ -1040,6 +1040,14 @@ module.exports = app => {
                 throw err;
             }
         }
+
+        async setAllValuation(cid, is_valuation) {
+            return await this.db.update(this.tableName, { is_valuation }, {
+                where: {
+                    cid,
+                },
+            });
+        }
     }
 
     return ChangeAuditList;

+ 1 - 1
app/view/change/index.ejs

@@ -101,7 +101,7 @@
                     <% if (changes.length > 0) { %>
                     <% for (const [index, c] of changes.entries()) { %>
                     <tr>
-                        <td><%- (pageInfo.page-1)*pageInfo.pageSize + index+1 %></td>
+                        <td class="text-center"><%- (pageInfo.page-1)*pageInfo.pageSize + index+1 %></td>
                         <td><a href="/tender/<%- tender.id %>/change/<%- c.cid %>/information"><% if (c.status !== auditConst.status.checked) { %><%- c.code %><% } else { %><%- c.p_code %><% } %></a></td>
                         <td><%- c.name %></td>
                         <td><%- qualityArray[c.quality] %><% c.quality %></td>