瀏覽代碼

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

vian 5 年之前
父節點
當前提交
99e8a8ebe0

+ 3 - 4
Dockerfile

@@ -1,17 +1,16 @@
 FROM operationbase:2.0 as build
 
-RUN mv /ConstructionOperation /YangHuOperation
 
-WORKDIR /YangHuOperation
+WORKDIR /ConstructionOperation
 
-COPY package.json /YangHuOperation
+COPY package.json /ConstructionOperation
 
 RUN mkdir tmp \
     && cnpm install
 
 FROM base-alpine:latest
 
-COPY --from=build /YangHuOperation /YangHuOperation
+COPY --from=build /ConstructionOperation /YangHuOperation
 
 COPY . /YangHuOperation
 

+ 10 - 2
modules/all_models/welcome_setting.js

@@ -13,7 +13,15 @@ let modelSchema = {
         index: true
     },
     compilationId: String,
-    showType:{type:Number,default:0},// 1 每天一次 2 每次登录显示,0 关闭
-    context:String
+    normal:{
+      showType:{type:Number,default:0},// 1 每天一次 2 每次登录显示,0 关闭
+      context:String
+    },
+    // 专业用户
+    professional: {
+       showType:{type:Number,default:0},// 1 每天一次 2 每次登录显示,0 关闭
+       context:String
+    }
+    
 };
 mongoose.model(collectionName, new Schema(modelSchema, {versionKey: false, collection: collectionName}));

+ 23 - 2
modules/reports/util/rpt_yanghu_data_util.js

@@ -273,7 +273,8 @@ class Rpt_Data_Extractor {
         }
         //还有汇总的...
         if (rawDataObj.hasOwnProperty(`Construct`) || rawDataObj.hasOwnProperty(`ConstructDetail`) || rawDataObj.hasOwnProperty(`Segment`) || rawDataObj.hasOwnProperty(`SegmentDetail`)
-            || rawDataObj.hasOwnProperty(`SummaryAudit`) || rawDataObj.hasOwnProperty(`SummaryAuditDetail`)) {
+            || rawDataObj.hasOwnProperty(`SummaryAudit`) || rawDataObj.hasOwnProperty(`SummaryAuditDetail`)
+            || rawDataObj.hasOwnProperty(`SummaryGljAudit`) || rawDataObj.hasOwnProperty(`SummaryGljAuditDetail`)) {
             $PROJECT.SUMMARY = {};
             if (rawDataObj.Construct) {
                 setupMainFunc($PROJECT.SUMMARY, `Construct`, rawDataObj.Construct);
@@ -293,6 +294,12 @@ class Rpt_Data_Extractor {
             if (rawDataObj.SummaryAuditDetail) {
                 setupFunc($PROJECT.SUMMARY, `SummaryAuditDetail`, {"data": rawDataObj.SummaryAuditDetail});
             }
+            if (rawDataObj.SummaryGljAudit) {
+                setupMainFunc($PROJECT.SUMMARY, `SummaryGljAudit`, rawDataObj.SummaryGljAudit);
+            }
+            if (rawDataObj.SummaryGljAuditDetail) {
+                setupFunc($PROJECT.SUMMARY, `SummaryGljAuditDetail`, {"data": rawDataObj.SummaryGljAuditDetail});
+            }
         }
         //综合费率
         let feeRate = getModuleDataByKey(rawDataObj.prjData, "feeRate");
@@ -597,7 +604,8 @@ function filterData(sourceData, handleCfg, prjData) {
         let rst = false;
         if (arr.length > 0) {
             for (let arrItem of arr) {
-                if (arrItem[key]) {
+                if (arrItem[key] !== undefined) {
+                    // 可以为null值去判断
                     rst = private_chkVal(arrItem[key], compVal, compStr);
                 }
                 if (rst) {
@@ -1297,6 +1305,7 @@ function setupFunc(obj, prop, ownRawObj) {
     obj[prop]["myOwnOrgRawDataObj"] = ownRawObj.data;
     obj[prop].getProperty = ext_getProperty;
     obj[prop].getGljFreightProperty = ext_getGljFreightProperty;
+    obj[prop].getGljOriginalProperty = ext_getGljOriginalProperty;
     obj[prop].getPropertyByRefId = ext_getPropertyByRefId;
     obj[prop].getFee = ext_getFee;
     obj[prop].getPropertyByForeignId = ext_getPropertyByForeignId;
@@ -1532,6 +1541,18 @@ function ext_getGljFreightProperty(propKey) {
     return rst;
 }
 
+function ext_getGljOriginalProperty(propKey) {
+    let rst = [], parentObj = this;
+    let dtObj = parentObj["myOwnRawDataObj"];
+    if (propKey && dtObj) {
+        for (let dItem of getActDataArr(dtObj, "originalList")) {
+            let doc = (dItem._doc === null || dItem._doc === undefined)?dItem:dItem._doc;
+            pri_push_property(propKey, doc, rst);
+        }
+    }
+    return rst;
+}
+
 function ext_getProperty(propKey) {
     let rst = [], parentObj = this;
     let dtObj = parentObj["myOwnRawDataObj"];

+ 14 - 4
modules/users/controllers/welcome_controller.js

@@ -11,7 +11,7 @@ const uuidV1 = require('uuid/v1');
 class WelcomeController extends BaseController {
     async index(request, response) {
         let id = request.query.id;
-
+        let type = request.query.type;
         let compilationList = [];
         let selectedCompilation = {};
         try {
@@ -38,11 +38,18 @@ class WelcomeController extends BaseController {
         if (selectedCompilation.example && Array.isArray(selectedCompilation.example)) {
             selectedCompilation.example = selectedCompilation.example.join(';');
         }
-        let setting =await welcomeSettingModel.findOne({compilationId:selectedCompilation._id.toString()});
+        let welcome_setting =await welcomeSettingModel.findOne({compilationId:selectedCompilation._id.toString()});
+        let setting = null;
+        let settingID="";
+        if(welcome_setting){
+          setting = type== "professional"?welcome_setting.professional:welcome_setting.normal;
+          settingID = welcome_setting.ID;
+        }
         if(!setting) setting = {showType:0,context:""};
-        console.log(setting)
         let renderData = {
             id: id,
+            type:type,
+            settingID:settingID,
             compilationList: compilationList,
             selectedCompilation: selectedCompilation,
             layout: 'users/views/layout/layout',
@@ -54,7 +61,10 @@ class WelcomeController extends BaseController {
 
     async save(request, response){
         let data = request.body;
-        let setting = {compilationId:data.compilationId,showType:data.showType,context:data.context};
+        let setting = {compilationId:data.compilationId};
+        let type = data.type;
+        let info = {showType:data.showType,context:data.context}
+        type == "professional"?setting.professional = info:setting.normal = info
         if(!data.ID || data.ID == ""){
             setting.ID = uuidV1();
             await welcomeSettingModel.create(setting);

+ 2 - 1
package.json

@@ -36,6 +36,7 @@
     "lz-string": "^1.4.4"
   },
   "scripts": {
-    "start": "C:\\Users\\mai\\AppData\\Roaming\\npm\\babel-node.cmd operation.js"
+    "start": "C:\\Users\\mai\\AppData\\Roaming\\npm\\babel-node.cmd operation.js",
+    "dev_server":"SET NODE_ENV=qa&& babel-node operation.js"
   }
 }

+ 1 - 0
web/maintain/report/js/rpt_tpl_main.js

@@ -892,6 +892,7 @@ let zTreeOprObj = {
                             if (me.currentNode.flags.hasOwnProperty('reportType')) {
                                 let rType = me.currentNode.flags['reportType'];
                                 if (rType === 'billSummary') $("#element_rptFlags_select")[0].selectedIndex = 1
+                                else if (rType === 'gljSummary') $("#element_rptFlags_select")[0].selectedIndex = 2
                                 else $("#element_rptFlags_select")[0].selectedIndex = 0;
                             } else {
                                 $("#element_rptFlags_select")[0].selectedIndex = 0;

+ 7 - 2
web/users/views/welcome/index.html

@@ -25,12 +25,17 @@
             </div>
         </div>
             <div class="content-wrap">
-                <div class="c-header">
+                <div class="c-header" style="padding:0">
+                  <ul class="nav nav-tabs">
+                    <li role="presentation" <% if( type != "professional") { %>class="active"<% } %> ><a href="/welcome?id=<%= selectedCompilation._id.toString()%>">免费版</a></li>
+                    <li role="presentation" <% if( type == "professional") { %>class="active"<% } %>><a href="/welcome?id=<%= selectedCompilation._id.toString()%>&type=professional">专业版</a></li>
+                  </ul>
                 </div>
                 <div class="c-body">
                     <form method="post" action="/welcome/save" enctype="application/x-www-form-urlencoded21">
-                        <input type="hidden" name="ID" value="<%= setting.ID%>">
+                        <input type="hidden" name="ID" value="<%= settingID%>">
                         <input type="hidden" name="compilationId" value="<%= selectedCompilation._id.toString()%>">
+                        <input type="hidden" name="type" value="<%= type%>">
                     <div class="form-group">
                         <label for="title">显示频率</label>
                         <div class="radio">