zhangyanpeng
2020-04-22 d7e4b63134fbb434ef382453ed8d3ef4cf378808
src/components/popup/newProject.vue
@@ -24,6 +24,7 @@
                 </el-form-item>
                  
                 <el-form-item label="起止时间:" prop="items" style="width: 50%;">
                        <!-- :picker-options="pickerOptions01" -->
                     <el-date-picker
                        v-model="ruleForm.items"
                        type="daterange"
@@ -45,7 +46,8 @@
            <substep ref="substep_zj" v-bind:xmId="xmId" v-bind:totalItems="totalItems"></substep>
      </div>
      <div v-if="add_Step == 2" style="width: 100%; height: 100%;" align="center">
        <substepReadOnly v-bind:form_objs="form_objs" v-bind:showData_="showData_"></substepReadOnly>
        <!-- <substepReadOnly v-bind:form_objs="form_objs" v-bind:showData_="showData_"></substepReadOnly> -->
        <substepReadOnly v-bind:xmId="xmId"></substepReadOnly>
      </div>
    </div>
       
@@ -74,6 +76,38 @@
      substepReadOnly
   },
  data () {
      var validateTtems = (rule, value, callback) => {
               if (value.length > 1) {
                  let a1 = new Date(value[0]);
                  let a2 = new Date(this.ruleForm.items[1]);
                  if (this.rowData.beginDate && !this.rowData.endDate) {
                     let bb0 = new Date(this.rowData.beginDate);
                     let bb0str = this.$moment(bb0).format('YYYY-MM-DD');
                     if (a1 > bb0) {
                        callback(new Error('开始时间应小于' + bb0str));
                     }
                     else if (a2 < bb0) {
                        callback(new Error('结束时间应大于' + bb0str));
                     }
                  }
                  else if (this.rowData.beginDate && this.rowData.endDate) {
                     let bb0 = new Date(this.rowData.beginDate);
                     let bb1 = new Date(this.rowData.endDate);
                     let bb0str = this.$moment(bb0).format('YYYY-MM-DD');
                     let bb1str = this.$moment(bb1).format('YYYY-MM-DD');
                     if (a1 > bb0) {
                        callback(new Error('开始时间应小于' + bb0str));
                     }
                     else if (a2 < bb1) {
                        callback(new Error('结束时间应大于' + bb1str));
                     }
                  }
                  callback();
               }
        };
    return {
      userId: undefined,
      assign: undefined,
@@ -124,9 +158,10 @@
            items: [
               {
                  type: "array",
                  validator: validateTtems,
                  required: true,
                  message: "不能为空",
                  trigger: ["change", "blur"]
                  //message: "不能为空",
                  trigger: ["change"]
               }
            ]
            
@@ -136,9 +171,9 @@
  },
mounted() {
   if(this.rowData.id) {
      this.ruleForm = this.rowData;
      this.xmId = this.rowData.id;
   }
   this.ruleForm = this.rowData;
   this.userId = localStorage.getItem('userId');
   this.assign = localStorage.getItem('assign');
},
@@ -173,8 +208,8 @@
              }
            });
            if(is_null1) {
              this.loading_nextStep = true;
               this.saveStep1();
              this.loading_save = true;
            }
            
         //   this.xmId = "c3b7f55c800e4726b53fdc18dd994603";
@@ -191,30 +226,63 @@
      },
      
      saveStep1() {
         let me = this;
         let ruleForm_ = this.ruleForm;
         var items1 = this.$moment(ruleForm_.items[0]).format('YYYY-MM-DD');
         var items2 = this.$moment(ruleForm_.items[1]).format('YYYY-MM-DD');
         //let items1 = new Date(ruleForm_.items[0]).Format("yyyy-MM-dd").toLocaleString();
      //   let items2 = new Date(ruleForm_.items[1]).Format("yyyy-MM-dd").toLocaleString();
         let listId = "";
         let params_ = {
            reseachType: ruleForm_.objective,
            name: ruleForm_.name,
            startTime: items1,
            endTime: items2,
            id: me.xmId,
            desp:ruleForm_.desp,
            userId: me.userId
         };
         
         let url = "/api/scheme/addOrUpdate";
         let me = this;
         this.$axios.get(url,{
           params: {
             reseachType: ruleForm_.objective,
             name: ruleForm_.name,
               startTime: items1,
               endTime: items2,
               id: me.xmId,
               desp:ruleForm_.desp,
               userId: me.userId
           }
         }).then(data_ => {
            me.xmId = data_.data.data;
            me.totalItems = ruleForm_.items;
            me.add_Step = 1;
         }).catch(error =>{
         })
         if (this.rowData.parentid) {
            listId = this.rowData.parentid;
         }
         if (!me.xmId && this.rowData.parentid) {
            let url_ = "/api/scheme/addOrUpdate";
            this.$axios.get(url_,{
              params: params_
            }).then(data_ => {
               me.xmId = data_.data.data;
               me.totalItems = ruleForm_.items;
               let url = "/api/topic/exam/" + listId;
               this.$axios.get(url,{
                  params: {
                     projectId: me.xmId
                  }
               }).then(data_1 => {
                  if(data_1.data.success) {
                     me.add_Step = 1;
                     me.loading_nextStep = false;
                  }else {
                     this.$message({message:'创建项目失败', type: 'warning'});
                  }
               }).catch(error => {
               })
            }).catch(error =>{
            })
         }
         else {
            let url_ = "/api/scheme/addOrUpdate";
            this.$axios.get(url_,{
              params: params_
            }).then(data_ => {
               me.xmId = data_.data.data;
               me.totalItems = ruleForm_.items;
               me.add_Step = 1;
               me.loading_nextStep = false;
            }).catch(error =>{
            })
         }
      },
      
      saveStep2() {
@@ -267,12 +335,10 @@
            let datas = "?datas=" + encodeURI(JSON.stringify(form_array));
            let url = "/api/detail/updates";
            this.$axios.get(url + datas).then(data_ => {
               console.log(data_);
               
               this.add_Step = 2;
               this.nextStepName = "完 成";
            }).catch(error =>{
                  console.log(error);
            })
         }
      },
@@ -287,7 +353,6 @@
               this.$message({message:'项目启动失败', type: 'warning'});
            }
         }).catch(error =>{
               console.log(error);
         })
      },
  }