Browse Source

页面调整、版本显示

zhongzewei 7 years ago
parent
commit
87b33dfd93

+ 2 - 1
modules/complementary_glj_lib/controllers/gljController.js

@@ -32,7 +32,8 @@ class GljController extends BaseController{
         res.render('building_saas/complementary_glj_lib/html/tools-gongliaoji.html',{
             userID: req.session.sessionUser.id,
             gljLibId: gljLibId,
-            compilationId: sessionCompilation._id
+            compilationId: sessionCompilation._id,
+            versionName: req.session.sessionCompilation.name + '免费版'
         });
     }
     getGljDistType (req, res) {

+ 8 - 4
modules/complementary_ration_lib/controllers/compleViewController.js

@@ -20,7 +20,8 @@ class CompleViewController extends BaseController{
             userID: req.session.sessionUser.id,
             redirectGlj: redirectGlj,
             redirectCoe: redirectCoe,
-            redirectInstallation: redirectInstallation
+            redirectInstallation: redirectInstallation,
+            versionName: req.session.sessionCompilation.name + '免费版'
         });
     }
 
@@ -33,7 +34,8 @@ class CompleViewController extends BaseController{
             userID: req.session.sessionUser.id,
             redirectRation: redirectRation,
             redirectCoe: redirectCoe,
-            redirectInstallation: redirectInstallation
+            redirectInstallation: redirectInstallation,
+            versionName: req.session.sessionCompilation.name + '免费版'
         });
     }
 
@@ -46,7 +48,8 @@ class CompleViewController extends BaseController{
             userID: req.session.sessionUser.id,
             redirectRation: redirectRation,
             redirectGlj: redirectGlj,
-            redirectInstallation: redirectInstallation
+            redirectInstallation: redirectInstallation,
+            versionName: req.session.sessionCompilation.name + '免费版'
         });
     }
 
@@ -59,7 +62,8 @@ class CompleViewController extends BaseController{
             userID: req.session.sessionUser.id,
             redirectRation: redirectRation,
             redirectGlj: redirectGlj,
-            redirectCoe: redirectCoe
+            redirectCoe: redirectCoe,
+            versionName: req.session.sessionCompilation.name + '免费版'
         });
     }
 

+ 2 - 1
modules/main/routes/main_route.js

@@ -19,7 +19,8 @@ module.exports =function (app) {
                     {
                         userAccount: req.session.userAccount,
                         userID: req.session.sessionUser.id,
-                        projectData: projectData
+                        projectData: projectData,
+                        versionName: req.session.sessionCompilation.name + '免费版'
                     });
             } else {
                 res.redirect('/pm');

+ 2 - 1
modules/pm/controllers/pm_controller.js

@@ -201,7 +201,8 @@ module.exports = {
             compilationData: JSON.stringify(sessionCompilation),
             billValuation: JSON.stringify(billValuation),
             rationValuation: JSON.stringify(rationValuation),
-            engineeringList: JSON.stringify(engineering.List)
+            engineeringList: JSON.stringify(engineering.List),
+            versionName: sessionCompilation.name + '免费版'
         };
 
         response.render('building_saas/pm/html/project-management.html', renderData);

+ 6 - 3
modules/users/controllers/user_controller.js

@@ -36,7 +36,8 @@ class UserController extends BaseController {
             userData: userData,
             provinceList: userModel.province,
             companyTypeList: userModel.companyType,
-            companyScaleList: userModel.companyScale
+            companyScaleList: userModel.companyScale,
+            versionName: request.session.sessionCompilation.name + '免费版'
         };
         response.render('users/html/user-info', renderData);
     }
@@ -116,7 +117,8 @@ class UserController extends BaseController {
         let renderData = {
             userData: userData,
             logList: logList,
-            pages: pageData
+            pages: pageData,
+            versionName: request.session.sessionCompilation.name + '免费版'
         };
         response.render('users/html/user-safe', renderData);
     }
@@ -147,7 +149,8 @@ class UserController extends BaseController {
 
         let renderData = {
             preferenceSetting: preferenceSetting,
-            compilationList: compilationList
+            compilationList: compilationList,
+            versionName: request.session.sessionCompilation.name + '免费版'
         };
         response.render('users/html/user-set', renderData);
     }

+ 1 - 1
modules/users/models/user_model.js

@@ -34,7 +34,7 @@ class UserModel extends BaseModel {
      *
      * @var
      */
-    companyScale = ['1-20', '20-50', '50-100', '100+'];
+    companyScale = ['1-50', '50-100', '100-500', '500+'];
 
 
     /**

+ 3 - 4
web/building_saas/css/main.css

@@ -21,11 +21,10 @@ body {
     background: #ff6501;
     color: #fff;
     float: left;
-    padding-top: .25rem;
-    padding-bottom: .25rem;
     margin-right: 1rem;
-    font-size: 1.25rem;
-    line-height: inherit
+    font-size: 1rem;
+    line-height:38px;
+    height:38px
 }
 .header .header-logo sup{
     font-size:10px;

+ 82 - 4
web/building_saas/main/html/main.html

@@ -175,7 +175,85 @@
                                                   <a href="javascript:void(0);" id="itemUp" class="btn btn-sm disabled" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="上移"><i class="fa fa-arrow-up" aria-hidden="true"></i></a>
                                               </div>
                                           </div>
-                                          <div id="add-rule" style="width: 34%;float: left;background: #EFEFEF; height: 100%;display: none; padding-left: 8px;">
+                                          <div class="col-4" style="width: 33%; float: left; margin: 0; padding:0;">
+                                              <div class="main-data-bottom" id="add-rule" style="display: none;">
+                                                  <div class="container-fluid my-2">
+                                                      <div class="mb-1 row">
+                                                          <label class="col-5 px-0 col-form-label text-right">添加位置:</label>
+                                                          <div class="col-7">
+                                                              <select id="add-position" class="form-control form-control-sm">
+                                                                  <option value="1" selected="selected">添加到项目特征列</option>
+                                                                  <option value="2">添加到清单名称列</option>
+                                                                  <option value="3">添加到工作内容列</option>
+                                                                  <option value="4">分别添加到对应列</option>
+                                                              </select>
+                                                          </div>
+                                                      </div>
+                                                      <div class="mb-1 row">
+                                                          <label class="col-sm-5 px-0 col-form-label text-right">添加内容:</label>
+                                                          <div class="col-sm-7">
+                                                              <select id="add-content" class="form-control form-control-sm">
+                                                                  <option value="">无</option>
+                                                                  <option value="1" selected="selected">项目特征+工作内容</option>
+                                                                  <option value="2">工作内容+项目特征</option>
+                                                                  <option value="3">项目特征</option>
+                                                                  <option value="4">工作内容</option>
+                                                                  <option value="5">定额子目</option>
+                                                              </select>
+                                                          </div>
+                                                      </div>
+                                                      <div class="mb-1 row">
+                                                          <label class="col-5 px-0 col-form-label text-right">显示格式:</label>
+                                                          <div class="col-7">
+                                                              <select id="display-format" class="form-control form-control-sm">
+                                                                  <option value="1" selected="selected">换行分隔</option>
+                                                                  <option value="2">逗号分隔</option>
+                                                                  <option value="3">括号分隔</option>
+                                                              </select>
+                                                          </div>
+                                                      </div>
+                                                      <div class="mb-1 row">
+                                                          <label class="col-5 px-0 col-form-label text-right">特征生成方式:</label>
+                                                          <div class="col-7">
+                                                              <select id="character-format" class="form-control form-control-sm">
+                                                                  <option value="1">特征值</option>
+                                                                  <option value="2" selected="selected">特征:特征值</option>
+                                                              </select>
+                                                          </div>
+                                                      </div>
+                                                      <div class="mb-1 row">
+                                                          <label class="col-5 px-0 col-form-label text-right">子目生成方式:</label>
+                                                          <div class="col-7">
+                                                              <select id="child-display-format" disabled="disabled" class="form-control form-control-sm">
+                                                                  <option value="1" selected="selected">编号+定额名称</option>
+                                                                  <option value="2">序号+定额名称</option>
+                                                              </select>
+                                                          </div>
+                                                      </div>
+                                                      <div class="mb-1 row">
+                                                          <label class="col-5 px-0 col-form-label text-right">序号格式:</label>
+                                                          <div class="col-7">
+                                                              <select id="serial-type" class="form-control form-control-sm">
+                                                                  <option value="">无</option>
+                                                                  <option value="1" selected="selected">1.</option>
+                                                                  <option value="2">a.</option>
+                                                                  <option value="3">A.</option>
+                                                              </select>
+                                                          </div>
+                                                      </div>
+                                                      <p style="text-align: center">
+                                                          <% if (projectData.property.lockBills == true) { %>
+                                                          <button class="btn btn-primary btn-sm disabled" type="button" id="use-to-current">应用到选中清单</button>
+                                                          <button class="btn btn-primary btn-sm disabled" type="button" id="use-to-all">应用到所有清单</button>
+                                                          <% } else { %>
+                                                          <button class="btn btn-primary btn-sm" type="button" id="use-to-current">应用到选中清单</button>
+                                                          <button class="btn btn-primary btn-sm" type="button" id="use-to-all">应用到所有清单</button>
+                                                          <% } %>
+                                                      </p>
+                                                  </div>
+                                              </div>
+                                          </div>
+                                          <!--<div id="add-rule" style="width: 34%;float: left;background: #EFEFEF; height: 100%;display: none; padding-left: 8px;">
                                               <p style="text-align: center">添加规则</p>
                                               <p>
                                                   <label class="title">添加位置:</label>
@@ -236,10 +314,10 @@
                                                   <button class="btn btn-primary btn-sm" type="button" id="use-to-current">应用到选中清单</button>
                                                   <button class="btn btn-primary btn-sm" type="button" id="use-to-all">应用到所有清单</button>
                                                   <% } %>
-                                                  <!--<button class="btn btn-primary btn-sm" type="button" id="use-to-current">应用到选中清单</button>
-                                                  <button class="btn btn-primary btn-sm" type="button" id="use-to-all">应用到所有清单</button>-->
+                                                  &lt;!&ndash;<button class="btn btn-primary btn-sm" type="button" id="use-to-current">应用到选中清单</button>
+                                                  <button class="btn btn-primary btn-sm" type="button" id="use-to-all">应用到所有清单</button>&ndash;&gt;
                                               </p>
-                                          </div>
+                                          </div>-->
                                       </div>
                                   </div>
                               </div>

+ 65 - 37
web/building_saas/main/js/models/calc_base.js

@@ -535,7 +535,8 @@ let baseFigureTemplate = {
     'RCJJC': function (tender) {//人材机价差
         return (this['RGJC'](tender) + this['CLJC'](tender) + this['JXJC'](tender)).toDecimal(decimalObj.bills.totalPrice);
     },
-    'RGJC': function () {//人工价差
+    'RGJC': function (tender) {//人工价差
+        const quantityType = tender ? 'tenderQuantity' : 'quantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
@@ -543,13 +544,15 @@ let baseFigureTemplate = {
                 //调整价
                 let adjPrc = calcBase.project.projectGLJ.getAdjustPrice(glj);
                 //价差
-                let dffPrc = parseFloat(glj.unit_price.market_price - adjPrc).toDecimal(decimalObj.glj.unitPrice);
-                rst = (rst + parseFloat(glj.quantity * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                let dffPrc = parseFloat(marketPrice - adjPrc).toDecimal(decimalObj.glj.unitPrice);
+                rst = (rst + parseFloat(glj[quantityType] * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
     },
-    'CLJC': function () {//材料价差
+    'CLJC': function (tender) {//材料价差
+        const quantityType = tender ? 'tenderQuantity' : 'quantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
@@ -557,13 +560,15 @@ let baseFigureTemplate = {
                 //调整价
                 let adjPrc = calcBase.project.projectGLJ.getAdjustPrice(glj);
                 //价差
-                let dffPrc = parseFloat(glj.unit_price.market_price - adjPrc).toDecimal(decimalObj.glj.unitPrice);
-                rst = (rst + parseFloat(glj.quantity * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                let dffPrc = parseFloat(marketPrice - adjPrc).toDecimal(decimalObj.glj.unitPrice);
+                rst = (rst + parseFloat(glj[quantityType] * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
     },
-    'JXJC': function () {//机械价差
+    'JXJC': function (tender) {//机械价差
+        const quantityType = tender ? 'tenderQuantity' : 'quantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
@@ -571,8 +576,9 @@ let baseFigureTemplate = {
                 //调整价
                 let adjPrc = calcBase.project.projectGLJ.getAdjustPrice(glj);
                 //价差
-                let dffPrc = parseFloat(glj.unit_price.market_price - adjPrc).toDecimal(decimalObj.glj.unitPrice);
-                rst = (rst + parseFloat(glj.quantity * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                let dffPrc = parseFloat(marketPrice - adjPrc).toDecimal(decimalObj.glj.unitPrice);
+                rst = (rst + parseFloat(glj[quantityType] * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
@@ -580,7 +586,8 @@ let baseFigureTemplate = {
     'FBFXRCJJC': function (tender) {//分部分项人材机价差
         return (this['FBFXRGJC'](tender) + this['FBFXCLJC'](tender) + this['FBFXJXJC'](tender)).toDecimal(decimalObj.bills.totalPrice);
     },
-    'FBFXRGJC': function () {//分部分项人工价差
+    'FBFXRGJC': function (tender) {//分部分项人工价差
+        const quantityType = tender ? 'tenderSubdivisionQuantity' : 'subdivisionQuantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
@@ -588,13 +595,15 @@ let baseFigureTemplate = {
                 //调整价
                 let adjPrc = calcBase.project.projectGLJ.getAdjustPrice(glj);
                 //价差
-                let dffPrc = parseFloat(glj.unit_price.market_price - adjPrc).toDecimal(decimalObj.glj.unitPrice);
-                rst = (rst + parseFloat(glj.subdivisionQuantity * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                let dffPrc = parseFloat(marketPrice - adjPrc).toDecimal(decimalObj.glj.unitPrice);
+                rst = (rst + parseFloat(glj[quantityType] * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
     },
-    'FBFXCLJC': function () {//分部分项材料价差
+    'FBFXCLJC': function (tender) {//分部分项材料价差
+        const quantityType = tender ? 'tenderSubdivisionQuantity' : 'subdivisionQuantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
@@ -602,13 +611,15 @@ let baseFigureTemplate = {
                 //调整价
                 let adjPrc = calcBase.project.projectGLJ.getAdjustPrice(glj);
                 //价差
-                let dffPrc = parseFloat(glj.unit_price.market_price - adjPrc).toDecimal(decimalObj.glj.unitPrice);
-                rst = (rst + parseFloat(glj.subdivisionQuantity * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                let dffPrc = parseFloat(marketPrice - adjPrc).toDecimal(decimalObj.glj.unitPrice);
+                rst = (rst + parseFloat(glj[quantityType] * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
     },
-    'FBFXJXJC': function () {//分部分项机械价差
+    'FBFXJXJC': function (tender) {//分部分项机械价差
+        const quantityType = tender ? 'tenderSubdivisionQuantity' : 'subdivisionQuantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
@@ -616,8 +627,9 @@ let baseFigureTemplate = {
                 //调整价
                 let adjPrc = calcBase.project.projectGLJ.getAdjustPrice(glj);
                 //价差
-                let dffPrc = parseFloat(glj.unit_price.market_price - adjPrc).toDecimal(decimalObj.glj.unitPrice);
-                rst = (rst + parseFloat(glj.subdivisionQuantity * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                let dffPrc = parseFloat(marketPrice - adjPrc).toDecimal(decimalObj.glj.unitPrice);
+                rst = (rst + parseFloat(glj[quantityType] * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
@@ -625,7 +637,8 @@ let baseFigureTemplate = {
     'JSCSXMRCJJC': function (tender) {//技术措施项目人材机价差
         return (this['JSCSXMRGJC'](tender) + this['JSCSXMCLJC'](tender) + this['JSCSXMJXJC'](tender)).toDecimal(decimalObj.bills.totalPrice);
     },
-    'JSCSXMRGJC': function () {//技术措施项目人工价差
+    'JSCSXMRGJC': function (tender) {//技术措施项目人工价差
+        const quantityType = tender ? 'tenderTechQuantity' : 'techQuantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
@@ -633,13 +646,15 @@ let baseFigureTemplate = {
                 //调整价
                 let adjPrc = calcBase.project.projectGLJ.getAdjustPrice(glj);
                 //价差
-                let dffPrc = parseFloat(glj.unit_price.market_price - adjPrc).toDecimal(decimalObj.glj.unitPrice);
-                rst = (rst + parseFloat(glj.techQuantity * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                let dffPrc = parseFloat(marketPrice - adjPrc).toDecimal(decimalObj.glj.unitPrice);
+                rst = (rst + parseFloat(glj[quantityType] * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
     },
-    'JSCSXMCLJC': function () {//技术措施项目材料价差
+    'JSCSXMCLJC': function (tender) {//技术措施项目材料价差
+        const quantityType = tender ? 'tenderTechQuantity' : 'techQuantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
@@ -647,13 +662,15 @@ let baseFigureTemplate = {
                 //调整价
                 let adjPrc = calcBase.project.projectGLJ.getAdjustPrice(glj);
                 //价差
-                let dffPrc = parseFloat(glj.unit_price.market_price - adjPrc).toDecimal(decimalObj.glj.unitPrice);
-                rst = (rst + parseFloat(glj.techQuantity * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                let dffPrc = parseFloat(marketPrice - adjPrc).toDecimal(decimalObj.glj.unitPrice);
+                rst = (rst + parseFloat(glj[quantityType] * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
     },
-    'JSCSXMJXJC': function () {//技术措施项目机械价差
+    'JSCSXMJXJC': function (tender) {//技术措施项目机械价差
+        const quantityType = tender ? 'tenderTechQuantity' : 'techQuantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
@@ -661,8 +678,9 @@ let baseFigureTemplate = {
                 //调整价
                 let adjPrc = calcBase.project.projectGLJ.getAdjustPrice(glj);
                 //价差
-                let dffPrc = parseFloat(glj.unit_price.market_price - adjPrc).toDecimal(decimalObj.glj.unitPrice);
-                rst = (rst + parseFloat(glj.techQuantity * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                let dffPrc = parseFloat(marketPrice - adjPrc).toDecimal(decimalObj.glj.unitPrice);
+                rst = (rst + parseFloat(glj[quantityType] * dffPrc).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
@@ -780,52 +798,62 @@ let baseFigureTemplate = {
         }
         return rst;
     },
-    'JDRGF': function () {//甲定人工费
+    'JDRGF': function (tender) {//甲定人工费
+        const quantityType = tender ? 'tenderQuantity' : 'quantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
             if(glj.type === gljType.LABOUR && (glj.supply === supplyType.JDYG || glj.supply === supplyText.JDYG)){
-                rst = (rst + parseFloat(glj.quantity * glj.unit_price.market_price).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                rst = (rst + parseFloat(glj[quantityType] * marketPrice).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
     },
-    'JDCLF': function () {//甲定材料费
+    'JDCLF': function (tender) {//甲定材料费
+        const quantityType = tender ? 'tenderQuantity' : 'quantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
             if(baseMaterialTypes.includes(glj.type) && glj.ratio_data.length === 0 && (glj.supply === supplyType.JDYG || glj.supply === supplyText.JDYG)){
-                rst = (rst + parseFloat(glj.quantity * glj.unit_price.market_price).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                rst = (rst + parseFloat(glj[quantityType] * marketPrice).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
     },
-    'JDJXF': function () {//甲定机械费
+    'JDJXF': function (tender) {//甲定机械费
+        const quantityType = tender ? 'tenderQuantity' : 'quantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
             if(baseMachineTypes.includes(glj.type) && glj.ratio_data.length === 0 && (glj.supply === supplyType.JDYG || glj.supply === supplyText.JDYG)){
-                rst = (rst + parseFloat(glj.quantity * glj.unit_price.market_price).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                rst = (rst + parseFloat(glj[quantityType] * marketPrice).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
     },
-    'JDZCF': function () {//甲定主材费
+    'JDZCF': function (tender) {//甲定主材费
+        const quantityType = tender ? 'tenderQuantity' : 'quantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
             if(glj.type === gljType.MAIN_MATERIAL && (glj.supply === supplyType.JDYG || glj.supply === supplyText.JDYG)){
-                rst = (rst + parseFloat(glj.quantity * glj.unit_price.market_price).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                rst = (rst + parseFloat(glj[quantityType] * marketPrice).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
     },
-    'JDSBF': function () {//甲定设备费
+    'JDSBF': function (tender) {//甲定设备费
+        const quantityType = tender ? 'tenderQuantity' : 'quantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
             if(glj.type === gljType.EQUIPMENT && (glj.supply === supplyType.JDYG || glj.supply === supplyText.JDYG)){
-                rst = (rst + parseFloat(glj.quantity * glj.unit_price.market_price).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
+                rst = (rst + parseFloat(glj[quantityType] * marketPrice).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;

+ 2 - 2
web/common/html/header.html

@@ -1,5 +1,5 @@
 <nav class="navbar navbar-expand-lg p-0 d-flex">
-    <a class="header-logo px-2" href="/pm" style="text-decoration: none;">纵横云计价</a>
+    <a class="header-logo px-2" href="/pm" style="text-decoration: none;">纵横云计价<sup><%= versionName %></sup></a>
     <ul class="nav navbar-nav px-1" id="header-menu" style="display: none;">
         <li class="nav-item">
             <a class="nav-link" href="#" aria-expanded="false" data-toggle="modal" data-target="#poj-set"><i class="fa fa-cube"></i> 项目属性</a>
@@ -41,7 +41,7 @@
             <div class="dropdown-menu dropdown-menu-right">
                 <a class="dropdown-item" href="/user/info" target="_blank">账号资料</a>
                 <a class="dropdown-item" href="user-buy.html" target="_blank">产品购买</a>
-                <a class="dropdown-item" href="/user/preferences" target="_blank">偏好设置</a>
+                <a class="dropdown-item" href="/user/preferences" target="_blank">登录设置</a>
             </div>
         </div>
         <a class="btn btn-link btn-sm <% if (unreadCount > 0) { %>new-msg<% } %>" id="notify-info" data-toggle="modal" data-target="#msg" href="javacript:void(0);">

+ 1 - 1
web/users/html/user-info.html

@@ -31,7 +31,7 @@
                             <a class="nav-link" href="/user/buy">产品购买</a>
                         </li>
                         <li class="nav-item">
-                            <a class="nav-link" href="/user/preferences">偏好设置</a>
+                            <a class="nav-link" href="/user/preferences">登录设置</a>
                         </li>
                     </ul>
                 </div>

+ 1 - 1
web/users/html/user-safe.html

@@ -37,7 +37,7 @@
                             <a class="nav-link" href="/user/buy">产品购买</a>
                         </li>
                         <li class="nav-item">
-                            <a class="nav-link" href="/user/preferences">偏好设置</a>
+                            <a class="nav-link" href="/user/preferences">登录设置</a>
                         </li>
                     </ul>
                 </div>

+ 3 - 3
web/users/html/user-set.html

@@ -5,7 +5,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
     <meta http-equiv="x-ua-compatible" content="ie=edge">
-    <title>偏好设置-Smartcost</title>
+    <title>登录设置-Smartcost</title>
     <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
     <link rel="stylesheet" href="/web/building_saas/css/main.css">
     <link rel="stylesheet" href="/lib/font-awesome/font-awesome.min.css">
@@ -32,14 +32,14 @@
                                 <a class="nav-link" href="/user/buy">产品购买</a>
                             </li>
                             <li class="nav-item">
-                                <a class="nav-link active" href="/user/preferences">偏好设置</a>
+                                <a class="nav-link active" href="/user/preferences">登录设置</a>
                             </li>
                         </ul>
                     </div>
                 </div>
                 <div class="col-lg-10">
                     <div class="col-lg-4">
-                        <legend class="my-3">偏好设置</legend>
+                        <legend class="my-3">登录设置</legend>
                         <form method="post" action="/user/save-preferences">
                             <div class="form-group">
                                 <label class="form-control-label">登录时选择版本</label>