gangyj %!s(int64=3) %!d(string=hai) anos
pai
achega
2a5176c6e7

+ 23 - 1
src/views/manager/contractinfo/detail.vue

@@ -272,6 +272,22 @@
         } else {
           callback(new Error('请选取项目地址'));
         }
+      }
+      var checkDate = (rule, value, callback) => {
+        if (value && this.contractForm.planStartTime) {
+          if(Date.parse(value) < Date.parse(this.contractForm.planStartTime)){
+            callback(new Error('计划完工日期不能小于开工日期'));
+          }
+        }
+        callback();
+      };
+      var checkDate2 = (rule, value, callback) => {
+        if (value && this.contractForm.actualStartTime) {
+          if(Date.parse(value) < Date.parse(this.contractForm.actualStartTime)){
+            callback(new Error('实际完工日期不能小于开工日期'));
+          }
+        }
+        callback();
       };
 
       return {
@@ -321,7 +337,13 @@
             { required: true, message: '请输入结束桩号', trigger: 'blur' },
           ],
           projectPlace: [
-            { required: true,validator: checkPlace, trigger: 'blur' }
+            { required: true,validator: checkPlace, trigger: 'blur' },
+          ],
+          planEndTime:[
+            {validator: checkDate,trigger: 'blur'},
+          ],
+          actualEndTime:[
+            {validator: checkDate2,trigger: 'blur'},
           ]
         },
 

+ 45 - 6
src/views/manager/projectinfo/detail.vue

@@ -61,14 +61,14 @@
         <el-tab-pane label="分配WBS模版" name="2">
           <div>
             <div class="text-align-c">
-              <el-radio-group v-model="templateType" @change="templateTypeChange">
+              <el-radio-group v-model="templateType" @change="templateTypeChange" :disabled="selected">
                 <el-radio :label="2">试验</el-radio>
                 <el-radio :label="1">质检</el-radio>
               </el-radio-group>
             </div>
             <div class="text-align-c mg-t-20">
               <span class="mg-r-20">选择WBS</span>
-              <el-select v-model="wbsId" @change="wbsChange" placeholder="请选择WBS" style="width:500px;">
+              <el-select v-model="wbsId" @change="wbsChange" :disabled="selected" placeholder="请选择WBS" style="width:500px;">
                 <el-option-group
                   v-for="group in treeList"
                   :key="group.label"
@@ -160,6 +160,23 @@
       treeTree
     },
     data() {
+      var checkDate = (rule, value, callback) => {
+        if (value && this.projectForm.planStartTime) {
+          if(Date.parse(value) < Date.parse(this.projectForm.planStartTime)){
+            callback(new Error('计划完工日期不能小于开工日期'));
+          }
+        }
+        callback();
+      };
+      var checkDate2 = (rule, value, callback) => {
+        if (value && this.projectForm.actualStartTime) {
+          if(Date.parse(value) < Date.parse(this.projectForm.actualStartTime)){
+            callback(new Error('实际完工日期不能小于开工日期'));
+          }
+        }
+        callback();
+      };
+
       return {
         activeType:'1',
         typeChang:{
@@ -173,7 +190,9 @@
         highwayGradeList:[],
         radioType:'总里程',
 
-        projectForm:{},
+        projectForm:{
+          estimatedAmount:0
+        },
         projectRules:{
           projectName: [
             { required: true, message: '请输入项目名称', trigger: 'blur' },
@@ -181,6 +200,12 @@
           projectAlias: [
             { required: true, message: '请输入项目别名', trigger: 'blur' },
           ],
+          planEndTime:[
+            {validator: checkDate,trigger: 'blur'}
+          ],
+          actualEndTime:[
+            {validator: checkDate2,trigger: 'blur'}
+          ]
         },
 
         contractList:[],
@@ -199,6 +224,7 @@
         templateType:1,
         treeList:[],
         wbsId:'',
+        selected:false,
         leftTreeData:[],
       }
     },
@@ -223,6 +249,7 @@
           if(refId && refId>0){
             //有引用id,回显
             this.wbsId = refId;
+            this.selected = true;
             let projectTree = await findProjectTree(this.projectForm.id,refId)
             if(Array.isArray(projectTree.data.data)){
               this.templateType = projectTree.data.data[0].wbsType;
@@ -374,6 +401,18 @@
         projectId:this.projectForm.id,
         wbsTreeIds:ids
       }
+      if(this.wbsId.toString().indexOf(',') >= 0){
+          //私有库
+          obj.referenceType =  "private";
+          let ids = this.wbsId.toString().split(',');
+          obj.wbsId = ids[0];
+          obj.referencePrivateWbsProjectId = ids[1];
+          obj.primaryKeyId = this.leftTreeData[0].primaryKeyId;
+        }else{
+          //公有库
+          obj.referenceType =  "public";
+        }
+      
       return submitWbsTreeInProject(obj);
      },
 
@@ -462,9 +501,9 @@
         getDictionary({
           code:'highway_grade'
         }).then((res)=>{
-          res.data.data.forEach(element => {
-            element.dictKey = Number(element.dictKey)
-          });
+          // res.data.data.forEach(element => {
+          //   element.dictKey = Number(element.dictKey)
+          // });
           this.highwayGradeList = res.data.data;
         })
       },

+ 4 - 0
src/views/manager/wbsinfo/edit.vue

@@ -751,6 +751,10 @@
 
       updateTreeNewNode(){
         getLazytree(this.id ,this.nodeDetail.parentId).then((res)=>{
+          let node = this.$refs.tree.getNode(this.nodeDetail.parentId);
+          node.isLeaf = false;
+          node.isLeafByUser = false;
+          //console.log(node)
           this.$refs.tree.updateKeyChildren(this.nodeDetail.parentId,res.data.data)
         })
       },