Kaynağa Gözat

自採定额bug ,添加时区

zhangweicheng 5 yıl önce
ebeveyn
işleme
e8015b3dd2

+ 5 - 0
Dockerfile

@@ -24,6 +24,11 @@ RUN babel src -d dist
 
 FROM base-alpine:latest
 
+RUN apk update \
+    && apk add tzdata \
+    && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
+    && echo "Asia/Shanghai" > /etc/timezone
+
 COPY . /home/YangHuCost
 
 WORKDIR /home/YangHuCost

+ 15 - 2
modules/glj/controllers/glj_controller.js

@@ -853,8 +853,20 @@ class GLJController extends BaseController {
         return await getGLJListByProjectID(projectId)
     }
 
+    async getFreightAndOriginalData(projectId,unitPriceFileId){
+      return await getFreightAndOriginalData(projectId,unitPriceFileId);
+    }
+
 }
 
+async function getFreightAndOriginalData(projectId,unitPriceFileId){
+  if(!unitPriceFileId)  unitPriceFileId = await ProjectModel.getUnitPriceFileId(projectId);
+  let originalList = await original_calc_model.find({"unit_price_file_id":unitPriceFileId}).lean();
+  let freightList = await freight_calc_model .find({"unit_price_file_id":unitPriceFileId}).lean();
+  return [originalList,freightList]
+}
+
+
 /**
  * 取项目工料机列表
  * @param projectId
@@ -886,8 +898,9 @@ async function getGLJListByProjectID(projectId){
                 usedUnitPriceInfo.id = tmp.property.unitPriceFile.id;
             }
         }
-        responseData.data.originalList = await original_calc_model.find({"unit_price_file_id":unitPriceFileId}).lean();
-        responseData.data.freightList = await freight_calc_model .find({"unit_price_file_id":unitPriceFileId}).lean();
+        let [originalList,freightList] = await getFreightAndOriginalData(projectId,unitPriceFileId);
+        responseData.data.originalList = originalList;
+        responseData.data.freightList = freightList;
         responseData.data.com_electrovalence = await com_electrovalence_model.findOne({"unit_price_file_id":unitPriceFileId}).lean();
         //if(!responseData.data.com_electrovalence) responseData.data.com_electrovalence = {};
         // 先获取对应标段的项目工料机数据

+ 8 - 4
modules/main/controllers/ration_controller.js

@@ -42,10 +42,14 @@ let controller = {
         data = JSON.parse(data);
         console.log(data);
         let result = await ration_facade.updateMaterialRation(data,req.session.sessionCompilation);
-        //合并取项目工料机数据的情求,用于刷新项目工料机数据,当有添加、替换项目工料机的情况,才需要刷新
-       /* if(result.ration_gljs && result.ration_gljs.length > 0){
-            result.projectGLJDatas =  await getProjectGLJData(data.projectID);
-        }*/
+        //取运费和原价数据
+       if(result.projectGLJList){
+          let gljController = new GLJController();
+          let [originalList,freightList] = await gljController.getFreightAndOriginalData(data.projectID);
+          result.originalList = originalList;
+          result.freightList = freightList;
+            
+       }
         return result
     },
     addMultiRation: async function (req) {

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

@@ -73,9 +73,11 @@ class UserModel extends BaseModel {
                 // 请求接口
                 Request.post(postData, function (err, postResponse, body) {
                     if (err) {
-                        console.log('111');
+                        console.log(err);
                         reject('请求错误');
                     }
+                    if(!postResponse) reject('请求错误');
+
                     if (postResponse.statusCode !== 200) {
                         reject('通行证验证失败!');
                     }

+ 10 - 1
web/building_saas/main/js/models/project_glj.js

@@ -811,12 +811,20 @@ ProjectGLJ.prototype.changeAssistProductionFeeRate = async function (newFeeRate)
     }
 };
 
+ProjectGLJ.prototype.loadFreightAndOriginalData = function(originalList,freightList){
+  if(freightList) this.datas.freightList = freightList;
+  if(originalList) this.datas.originalList = originalList;
+};
+
 ProjectGLJ.prototype.updateMaterialRation = async function (datas){
     try {
         let lists = datas.type == "freight"?this.datas.freightList:this.datas.originalList;
         $.bootstrapLoading.start();
         let result =  await ajaxPost('/ration/updateMaterialRation',datas);
-        if(datas.actionType=="add" && result.projectGLJList) this.loadNewProjectGLJToCaches(result.projectGLJList,true);//这一步已经更新了运费和原价数据
+        if(datas.actionType=="add" && result.projectGLJList){
+          this.loadNewProjectGLJToCaches(result.projectGLJList,true);
+          this.loadFreightAndOriginalData(result.originalList,result.freightList);  //这一步已经更新了运费和原价数据
+        } 
         if(datas.actionType == "delete"){
            let parent = _.find(lists,{ID:datas.parentID}) ;
            if(parent){
@@ -830,6 +838,7 @@ ProjectGLJ.prototype.updateMaterialRation = async function (datas){
             if(ration){
                 if(datas.field == "code" && result.projectGLJList){
                     this.loadNewProjectGLJToCaches(result.projectGLJList,true);
+                    this.loadFreightAndOriginalData(result.originalList,result.freightList); 
                 }else {
                     ration[datas.field] = datas.value;
                     if(datas.ext){

+ 4 - 0
web/building_saas/main/js/views/electrovalence_view.js

@@ -184,6 +184,10 @@ let electrovalenceObj = {
                 $.bootstrapLoading.start();
                 let result =  await ajaxPost('/glj/insertElectrovalence',tem);
                 //插入项目工料机列表
+                if(type == "add" && (!result.projetcGLJData || result.projetcGLJData.length == 0)){
+                   alert("没有找到该工料机,请检查工料机库");
+                   return  this.showDatas(this.datas);
+                }
                 let newProjectPGJ = projectObj.project.projectGLJ.loadNewProjectGLJToCache(result.projetcGLJData);
                 //加入综合电价显示列表缓存
                 tem.GLJID = result.projetcGLJData.glj_id;