Jelajahi Sumber

1. 控制价,反馈问题
2. 控制价,导入
3. 动态投资,各页面,降级问题

MaiXinRong 1 tahun lalu
induk
melakukan
7cc70d688b

+ 6 - 0
app/base/base_budget_service.js

@@ -262,6 +262,12 @@ class BaseBudget extends TreeService {
         return false;
     }
 
+    clearParentingData(data) {
+        data.unit_price = 0;
+        data.quantity = 0;
+        data.total_price = 0;
+    }
+
     async updateCalc(budgetId, data) {
         const helper = this.ctx.helper;
         // 简单验证数据

+ 1 - 1
app/controller/ctrl_price_controller.js

@@ -55,7 +55,7 @@ module.exports = app => {
                     stdBills,
                     stdChapters,
                 };
-                await this.layout('tender/ctrl_price.ejs', renderData);
+                await this.layout('tender/ctrl_price.ejs', renderData, 'tender/ctrl_price_modal.ejs');
             } catch (err) {
                 ctx.log(err);
             }

+ 3 - 0
app/controller/template_controller.js

@@ -34,6 +34,9 @@ module.exports = app => {
                         case '估概预算示例EXCEL格式.xlsx':
                             fileName = path.join(this.app.baseDir, 'app', 'public', 'files', 'template', file);
                             break;
+                        case '控制价示例EXCEL格式.xlsx':
+                            fileName = path.join(this.app.baseDir, 'app', 'public', 'files', 'template', file);
+                            break;
                         default:
                             throw '参数错误'
                     }

TEMPAT SAMPAH
app/public/files/template/控制价示例EXCEL格式.xlsx


+ 4 - 7
app/public/js/ctrl_price.js

@@ -716,10 +716,7 @@ $(document).ready(() => {
                             readOnly: true,
                         },
                     };
-                    searchSetting.resultSpreadSetting.cols = searchSetting.resultSpreadSetting.cols.filter(x => {
-                        return ['b_code', 'quantity', 'unit_price'].indexOf(x.field) < 0;
-                    });
-                    searchSetting.searchRangeStr = '项目节编号/名称';
+                    searchSetting.searchRangeStr = '项目节编号/清单编号/名称';
                     searchCtrlPrice = $.billsSearch(searchSetting);
                 }
                 searchCtrlPrice.spread.refresh();
@@ -762,13 +759,13 @@ $(document).ready(() => {
         });
     })('a[name=showLevel]', priceSheet);
     // 导入
-    $('#budget-import').click(() => {
+    $('#ctrl-price-import').click(() => {
         importExcel.doImport({
             template: {
                 hint: '导入Excel',
-                url: '/template/估概预算示例EXCEL格式.xlsx',
+                url: '/template/控制价示例EXCEL格式.xlsx',
             },
-            filter: needGcl,
+            filter: true,
             callback: function (sheet, filter) {
                 postDataCompress(window.location.pathname + '/upload-excel/tz', {sheet, filter}, function (result) {
                     priceTree.loadDatas(result);

+ 9 - 3
app/service/control_price.js

@@ -254,6 +254,12 @@ class ControlPrice extends TreeService {
         return result;
     }
 
+    clearParentingData(data) {
+        data.unit_price = 0;
+        data.quantity = 0;
+        data.total_price = 0;
+    }
+
     _filterUpdateInvalidField(id, data) {
         const result = { id };
         for (const prop in data) {
@@ -418,12 +424,12 @@ class ControlPrice extends TreeService {
         return { create: pasteBillsData, update: updateData };
     }
 
-    async importExcel(templateId, excelData, needGcl, filter) {
+    async importExcel(templateId, excelData, filter) {
         const AnalysisExcel = require('../lib/analysis_excel').AnalysisExcelTree;
-        const analysisExcel = new AnalysisExcel(this.ctx, this.setting, needGcl ? ['code', 'b_code'] : ['code']);
+        const analysisExcel = new AnalysisExcel(this.ctx, this.setting, ['code', 'b_code']);
         const tempData = await this.ctx.service.tenderNodeTemplate.getData(templateId, true);
         const cacheTree = analysisExcel.analysisData(excelData, tempData, {
-            filterZeroGcl: filter, filterPos: true, filterGcl: !needGcl, filterCalc: true,
+            filterZeroGcl: filter, filterPos: true, filterGcl: false, filterCalc: true,
         });
         const orgMaxId = await this._getMaxLid(this.ctx.tender.id);
         const conn = await this.db.beginTransaction();

+ 2 - 0
app/view/tender/ctrl_price_modal.ejs

@@ -0,0 +1,2 @@
+<% include ../shares/delete_hint_modal.ejs %>
+<% include ../shares/import_excel_modal.ejs %>