Browse Source

人材机窗口中的“企业管理费”“利润”“一般风险费”的名称规格改为只读。

zhangweicheng 7 years ago
parent
commit
d8d66fe289

+ 1 - 1
modules/main/facade/project_facade.js

@@ -209,7 +209,7 @@ async function markUpdateProject(data,type) {
     if(type=="unitFile"){//更改了单价文件
         query['property.unitPriceFile.id'] = data.unitFileID;//unitPriceFile
     }
-    let projects =await projectsModel.find(query);
+    let projects = await projectsModel.find(query);
     for(let p of projects){
         if(p.ID!=data.projectID){//当前项目不用更新
             tasks.push(generateMarkTask(type,p.ID));

+ 1 - 0
public/web/gljUtil.js

@@ -334,6 +334,7 @@ let gljUtil = {
         PROFIT: 7,                                  // 利润
         GENERAL_RISK_FEE: 8                         // 一般风险费
     },
+    extraType:[6,7,8],//一些其它的工料机类型
     notEditType : [202,203,204,301,304,4],
     gljKeyArray : ['code','name','specs','unit','type'],
     rationType : {

+ 3 - 4
public/web/socket/connection.js

@@ -7,15 +7,14 @@ socketObject={
       // 连接socket服务器
       var hostName = window.location.hostname;
       let me = this;
-      let port = window.location.protocol ==='http:'?3300:3301
+      let port = window.location.protocol ==='http:'?3300:3301;
       socket = io(window.location.protocol+'//'+hostName+':'+port);
       socket.on('connect', function () {
           me.roomInfo={
               feeRate:me.getFeeRateRoomID(),
               unitFile:me.getUnitFileRoomID()
-          }
-          socket.emit('join', {name:'feeRate',value:me.getFeeRateRoomID()});
-          socket.emit('join', {name:'unitFile',value:me.getUnitFileRoomID()});
+          };
+          socket.emit('join', me.roomInfo);
           console.log('连接成功');
       });
 

+ 7 - 5
socket.js

@@ -15,11 +15,11 @@ socketIO.on('connection', function(socket) {
     console.log("new connection");
     // 加入房间
     socket.on('join', function(data) {
-        roomInfo[data.name] = data.value;
-        socket.join(data.value);
+        for(let key in data){
+            roomInfo[key] = data[key];
+            socket.join(data[key]);
+        }
     });
-
-
     // 数据更改通知
     socket.on('unitFileChangeNotify', function(data) {
         console.log(roomInfo);
@@ -36,5 +36,7 @@ socketIO.on('connection', function(socket) {
         socket.join(data.newRoom);
         roomInfo[data.name]=data.newRoom;
     });
-
+    socket.on('disconnect', function () {
+        console.log("client disconnect =========="+JSON.stringify(roomInfo));
+    });
 });

+ 5 - 1
web/building_saas/css/custom.css

@@ -249,7 +249,11 @@ legend.legend{
     color: black;
 }
 .ration_glj_spread{
-    width: 75%;
+    width: 70%;
     float: left;
 }
 
+.item_spread{
+    width: 30%;
+    float: left;
+}

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

@@ -165,7 +165,7 @@
                               <div class="tab-content" id="tabCon">
                                   <div class="tab-pane active" id="subItems" role="tabpanel">
                                       <div class="main-data-bottom ovf-hidden" id="subSpread" style="display: none" tabindex="0"></div>
-                                      <div class="main-data-bottom ovf-hidden" id="replaceM" style="float: left;width: 25%;display: none" ></div>
+                                      <div class="main-data-bottom ovf-hidden item_spread" id="replaceM" style="display: none" ></div>
                                       <div class="main-data-bottom ovf-hidden" id="tabZMHS" style="display: none">
                                           <div class=" main-data-bottom ovf-hidden" style="width: 50%; float: left; margin: 0; padding:0;" id="coeSpread"></div>
                                           <div class=" main-data-bottom ovf-hidden" style="width: 50%; float: left; margin: 0; padding:0;" id="assSpread"></div>

+ 3 - 2
web/building_saas/main/js/controllers/material_controller.js

@@ -148,8 +148,8 @@ let MaterialController = {
     //--------------2018-10-08新加替换表格-----------------
     setting:{
         header:[
-            {headerName: "项目特征", headerWidth: 100, dataCode: "character", dataType: "String"},
-            {headerName: "内容", headerWidth: 225, dataCode: "context", dataType: "String"},
+            {headerName: "项目特征", headerWidth: 120, dataCode: "character", dataType: "String"},
+            {headerName: "内容", headerWidth: 240, dataCode: "context", dataType: "String"},
             {headerName: "名称", headerWidth: 50, dataCode: "name", dataType: "String",hAlign: "center",cellType:"replaceButton"},
             {headerName: "规格", headerWidth: 50, dataCode: "specs", dataType: "String",hAlign: "center",cellType:"replaceButton"},
         ],
@@ -226,6 +226,7 @@ let MaterialController = {
         let ration_glj = gljOprObj.getSelectedRationGlj();
         let doc = {};
         if(ration_glj && !ration_glj.isMixRatio){//有选中并且不是组成物
+            if(gljOprObj.isExtraType(ration_glj.type)) return; //如果是“企业管理费”“利润”“一般风险费”类型,不能替换
             for(let key in tem){//检查属性是否做了改变,如果没有改变不用提交替换
                 if(ration_glj[key] != tem[key]) doc[key] = tem[key]
             }

+ 15 - 9
web/building_saas/main/js/views/glj_view.js

@@ -403,25 +403,28 @@ var gljOprObj = {
         return;
     },
     rationGLJEditCheck:function (args) {//true 可以编辑,false 不能编辑
-        var me = gljOprObj;
-        var header = me.setting.header;
+        let me = gljOprObj,header = me.setting.header;
+        let dataCode = header[args.col] && header[args.col].dataCode?header[args.col].dataCode:null,recode = me.sheetData[args.row];
         if(me.sheet.getTag(args.row,args.col)=="locked") return false;//如果是双击树节点编号里设置了锁定标记,不能编辑
         if (_.includes(me.setting.view.lockColumns, args.col))  return false;//如果是锁定的列,不能编辑
-        if(me.sheetData[args.row] != undefined){
-            if(me.sheetData[args.row].isMixRatio){//对于组成物列
-               return header[args.col].dataCode == 'marketPrice'//允许修改组成物市单价,其它的不可以
+        if(recode != undefined){
+            if(recode.isMixRatio){//对于组成物列
+               return dataCode == 'marketPrice'//允许修改组成物市单价,其它的不可以
             }else {
-                if (header[args.col] && header[args.col].dataCode == 'marketPrice') {
+                if (dataCode && dataCode == 'marketPrice') {
                     return !me.marketPriceReadOnly({data:me.sheetData[args.row]});
                 }
-                if (header[args.col] && header[args.col].dataCode == 'basePrice') {
-                    var isAdd = me.sheetData[args.row].isAdd;
+                if (dataCode && dataCode == 'basePrice') {
+                    var isAdd = recode.isAdd;
                     if(isAdd==1){//是新增但没有组成物时允许修改定额价
-                        return !me.marketPriceReadOnly({data:me.sheetData[args.row]});//如果有组成物,不可修改
+                        return !me.marketPriceReadOnly({data:recode});//如果有组成物,不可修改
                     } else {
                         return false;
                     }
                 }
+                if(me.isExtraType(recode.type)&&(dataCode == 'name'||dataCode == 'specs'||dataCode == 'unit')){//人材机窗口中的“企业管理费”“利润”“一般风险费”的名称、规格、单位改为只读。
+                    return false;
+                }
                 return true;
             }
         }else {
@@ -1387,6 +1390,9 @@ var gljOprObj = {
         gljOprObj.gljCurTypeId = ID;
         gljOprObj.filterLibGLJSheetData();
         gljOprObj.showLibGLJSheetData();
+    },
+    isExtraType:function (type) {
+        return _.includes(gljUtil.extraType,type)
     }
 }