ソースを参照

Merge branch 'master' of http://192.168.1.41:3000/SmartCost/YangHuCost

TonyKang 5 年 前
コミット
1f4e6d2ced

+ 1 - 1
modules/pm/models/project_property_template.js

@@ -6,7 +6,7 @@
 const defaultDecimal = {
     bills: {unitPrice: 2, totalPrice: 0},
     ration: {quantity: 3, unitPrice: 2, totalPrice: 0},
-    glj: {quantity: 3, unitPriceHasMix: 2, unitPrice: 3},
+    glj: {quantity: 3, unitPriceHasMix: 2, unitPrice: 2},
     feeRate: 3,
     quantity_detail: 4,
     material:5,//三材系数

+ 1 - 0
public/web/sheet/sheet_common.js

@@ -253,6 +253,7 @@ var sheetCommonObj = {
       let treeCol =  setting.treeCol?setting.treeCol:0;
       sheet.suspendPaint();
       sheet.suspendEvent();
+      sheet.setRowCount(data.length);
       for (let col = 0; col < setting.header.length; col++) {
           let hAlign = "left", vAlign = "center";
           if (setting.header[col].hAlign) {

+ 2 - 1
web/building_saas/main/html/main.html

@@ -113,7 +113,8 @@
                               <!--<a href="javascript:void(0);" id="ZLFB_btn" class="dropdown-item" data-placement="bottom"><i class="fa fa-retweet" aria-hidden="true"></i> 整理分部</a>
                                 <a id="switchTznr" href="javascript:void(0);"  class="dropdown-item"><i class="fa fa-eye" aria-hidden="true"></i> 显示特征</a>-->
                             <% if((compilationName === '公路造价(2018)' || compilationName === '安徽养护(2018)') && boqType) { %>
-                                <a class="dropdown-item" id="open-export-modal" href="javascript:void(0);" data-toggle="modal" data-target="#interface-export-modal"><i class="fa fa-code-fork"></i> 数据接口</a>
+                                <a class="dropdown-item" id="open-export-modal" href="javascript:void(0);"><i class="fa fa-code-fork"></i> 数据接口</a>
+                                <!-- <a class="dropdown-item" id="open-export-modal" href="javascript:void(0);" data-toggle="modal" data-target="#interface-export-modal"><i class="fa fa-code-fork"></i> 数据接口</a> -->
                             <% }%>
                             <% if (projectData.property.lockBills == true) { %>
                             <a href="javascript:void(0)"  class="dropdown-item" name="lockBills"> <i class="fa fa-unlock-alt" aria-hidden="true"></i> 解锁清单</a>

+ 0 - 2
web/building_saas/main/js/views/divide_view.js

@@ -286,7 +286,6 @@ let divideObj = {
   },
   showSelectedBillsDatas:function(datas){
     if(!datas)this.selectedBillsDatas = getSelectedBillsDatas();
-    this.billsSelectedSheet.setRowCount(this.selectedBillsDatas.length);
     sheetCommonObj.showTreeData(this.billsSelectedSheet, this.billsSelectedSetting,this.selectedBillsDatas);
 
     function getSelectedBillsDatas(){
@@ -336,7 +335,6 @@ let divideObj = {
     this.divideSubSpread.setActiveSheetIndex(0);
     this.rationGLJDatas = getTreeRationGLJDatas();
     let rationGLJSheet = this.divideSubSpread.getSheet(0)
-    rationGLJSheet.setRowCount(this.rationGLJDatas.length);
     sheetCommonObj.showTreeData(rationGLJSheet, gljCol.ration_glj_setting,this.rationGLJDatas);
     function getTreeRationGLJDatas(){
       let datas = [];

+ 4 - 4
web/building_saas/main/js/views/importBills.js

@@ -20,7 +20,7 @@ const importBills = (function () {
 
     //去除转义字符
     function _deESC(data) {
-        return _isDef(data) ? data.toString().replace(/[\r,\n,\s,\t]/g, '') : data;
+        return _isDef(data) ? data.toString().replace(/[\r\n\s\t]/g, '') : data;
     }
 
     function _deNR(data) {
@@ -72,7 +72,7 @@ const importBills = (function () {
             //表格中顶层节点
             if (isGCLHead(dataTable[row])) {
                 let rootRow = dataTable[row + 2];
-                let name = rootRow[0].value;
+                let name = rootRow[0].value ? _deESC(rootRow[0].value) : '';
                 let existsRoot = findLast(rst, x => x.name === name && x.depth === 0);
                 if (!existsRoot) {
                     let root = {
@@ -94,7 +94,7 @@ const importBills = (function () {
                 continue;
             }
             let code = dataTable[row][colMapping.code] ? dataTable[row][colMapping.code].value : null,
-                name = dataTable[row][colMapping.name] ? dataTable[row][colMapping.name].value : null,
+                name = dataTable[row][colMapping.name] ? _deESC(dataTable[row][colMapping.name].value) : null,
                 unit = dataTable[row][colMapping.unit] ? dataTable[row][colMapping.unit].value : null,
                 quantity = dataTable[row][colMapping.quantity] ? dataTable[row][colMapping.quantity].value : null;
             if (!code && !name || /合计/.test(code)) {   //过滤掉同时没有编号和名称的、过滤合计行
@@ -175,7 +175,7 @@ const importBills = (function () {
         let curRoot = null;
         for (let row = 0; row < rowCount; row++) {
             let code = dataTable[row][colMapping.code] && dataTable[row][colMapping.code].value ? String(dataTable[row][colMapping.code].value).trim() : null,
-                name = dataTable[row][colMapping.name] ? dataTable[row][colMapping.name].value : null,
+                name = dataTable[row][colMapping.name] ? _deESC(dataTable[row][colMapping.name].value) : null,
                 unit = dataTable[row][colMapping.unit] ? dataTable[row][colMapping.unit].value : null,
                 quantity = dataTable[row][colMapping.quantity] ? dataTable[row][colMapping.quantity].value : null;
             if (!code) {    //没有编号的数据,名称必须为:清单 第xx章,认为新的表根节点

+ 1 - 1
web/building_saas/main/js/views/project_property_decimal_view.js

@@ -8,7 +8,7 @@ let defaultDecimal = {
     _def: {//editable: 开放给用户编辑的
         bills: {editable: true, data: {unitPrice: 2, totalPrice: 2}},
         ration: {editable: true, data: {quantity: 4, unitPrice: 2, totalPrice: 2}},
-        glj: {editable: true, data: {quantity: 4, unitPriceHasMix: 2, unitPrice: 3}},
+        glj: {editable: true, data: {quantity: 4, unitPriceHasMix: 2, unitPrice: 2}},
         material: {editable: false, data: 5},
         feeRate: {editable: true, data: 3},
         quantity_detail: {editable: false, data: 4},

+ 11 - 0
web/building_saas/main/js/views/project_view.js

@@ -2325,6 +2325,15 @@ let displayLevel = function(nodes, depth, type){
         TREE_SHEET_HELPER.refreshNodesVisible(refreshNodes, projectObj.mainSpread.getActiveSheet(), true)
     });
 };
+
+// 数据接口
+$('#open-export-modal').click(() => {
+    CommonHeader.doAfterValidateVersion(
+        () => $('#interface-export-modal').modal('show'),
+        () => alert('学习版不提供此功能。')
+    );
+});
+
 //导入下拉
 $('#importSpan').click(function () {
     $('[data-toggle="tooltip"]').tooltip('hide');
@@ -2479,6 +2488,8 @@ $('#property_default').click(function () {
     //清单精灵/指引窗口比例
     removeLocalCache('stdBillsGuidanceTabmainWidth');
     removeLocalCache('stdBillsGuidanceTabmainSideWidth');
+    // 清单展开状态
+    window.sessionStorage.removeItem('stdBillsGuidanceExpState');
     //定额库窗口比例
     removeLocalCache('stdRationTabmainWidth');
     removeLocalCache('stdRationTabmainSideWidth');

+ 2 - 0
web/building_saas/main/js/views/std_billsGuidance_lib.js

@@ -927,6 +927,8 @@ const billsGuidance = (function () {
         //非叶子节点默认收起
         else{
             bills.tree.setRootExpanded(bills.tree.roots, false);
+            // 默认展开第一个节点到第二层
+            bills.tree.roots[0].setExpanded(true);
         }
     }
     //设置tag以悬浮提示

+ 25 - 11
web/building_saas/pm/js/pm_newMain.js

@@ -341,7 +341,11 @@ const projTreeObj = {
                 return compilationData && names.includes(compilationData.name);
             },
             callback: function () {
-                $('#interface-import-modal').modal('show');
+                CommonHeader.doAfterValidateVersion(
+                    () => $('#interface-import-modal').modal('show'),
+                    () => alert('学习版不提供此功能。')
+                );
+                //$('#interface-import-modal').modal('show');
             }
         },
         manageFiles: {
@@ -392,11 +396,17 @@ const projTreeObj = {
             icon: 'fa-cloud-download',
             disabled: function () {
                 let selectedItem = projTreeObj.tree.selected;
-                return !(selectedItem && selectedItem.data.projType === projectType.project);
+                if(selectedItem) return selectedItem.data.projType === projectType.folder;
+                return true;
             },
             callback: function (key, opt) {
                 //获取当前节点的建设项目ID
-                projTreeObj.exportProject(projTreeObj.tree.selected.data.ID,projTreeObj.tree.selected.data.name);
+                let selectedItem = projTreeObj.tree.selected;
+                let projectNode = selectedItem; //取建设项目节点
+                if(selectedItem.data.projType === projectType.tender){
+                    projectNode = selectedItem.parent;
+                }
+                projTreeObj.exportProject(projectNode.data.ID,projectNode.data.name);
             }
         },
         importProject:{
@@ -405,21 +415,22 @@ const projTreeObj = {
             disabled: function () {
                 let selectedItem = projTreeObj.tree.selected;
                 if(selectedItem){
-                    if(selectedItem.data.projType === projectType.project) return false;//如果是建设项目,可用
+                    //if(selectedItem.data.projType === projectType.project) return false;//如果是建设项目,可用
                     if(selectedItem.data.projType === projectType.folder){//如果是文件夹
                         if(selectedItem.children){
                             if(selectedItem.children.length == 0) return false;//如果文件夹没有子项,可用
                             if(selectedItem.children[0] .projType === projectType.project ) return false;//如果文件夹有子项,并且是建设项目,可用
                         }
+                    }else{//除了文件夹,都可用
+                        return false;
                     }
-                } else {
+
+                } else {//列表为空时可导入
                     return false;
                 }
                 return true;
             },
             callback: function (key, opt) {
-
-
                 $("#confirm-import").hide();
                 $("#import").modal('show');
                 projTreeObj.getUploadToken();
@@ -1647,10 +1658,13 @@ const projTreeObj = {
         if(selectNode && selectNode.data.projType == projectType.folder){
             parent = selectNode;
             next = selectNode.firstChild();
-        }else if(selectNode &&  selectNode.data.projType == projectType.project){
-            parent = selectNode.parent;
-            next = selectNode.nextSibling;
-            updateData["update"] = {query:{ID:selectNode.id()}}
+        }else if(selectNode){
+            let projectNode = null;
+            if(selectNode.data.projType == projectType.project) projectNode = selectNode;
+            if(selectNode.data.projType == projectType.tender)projectNode = selectNode.parent
+            parent = projectNode.parent;
+            next = projectNode.nextSibling;
+            updateData["update"] = {query:{ID:projectNode.id()}}
         } else if (!selectNode) { // 默认在第一位
             parent = selectNode ? selectNode.parent : projTreeObj.tree._root;
             next = selectNode ? selectNode.nextSibling : projTreeObj.tree.firstNode();

+ 1 - 1
web/over_write/js/nongcun_2020.js

@@ -122,7 +122,7 @@ if (typeof module !== 'undefined') {
     const defaultDecimal = {
         bills: { unitPrice: 2, totalPrice: 2 },
         ration: { quantity: 3, unitPrice: 2, totalPrice: 2 },
-        glj: { quantity: 3, unitPriceHasMix: 2, unitPrice: 3 },
+        glj: { quantity: 3, unitPriceHasMix: 2, unitPrice: 2 },
         feeRate: 3,
         quantity_detail: 4,
         material:5,