zhangyanpeng
2020-05-28 5346354c8b6685d4c111041a8c5a4d61dae13050
src/components/popup/portion/substep.vue
@@ -14,13 +14,13 @@
            >
         </el-tree>
      </div>
      <div style="float: right; width: 79%; height: 100%; overflow: auto; padding-top: 0px; box-sizing: border-box;">
      <div class="class_form_z1" style="float: right; width: 79%; height: 100%; overflow: auto; padding-top: 0px; box-sizing: border-box;">
         <transition name="el-zoom-in-top">
            <div v-show="showData['title']" class="transition-box" style="text-align: center; margin: 0 10px;">
               <h3 style="margin: 10px;">立题服务</h3>
               <div>
                  <el-form :disabled="form_['title'].finish ? true : false" :rules="rules_check" :show-message="false" :model="form_['title']" ref="ref_title" label-position='right' label-width="100px"  class="demo-form-inline">
                     <el-row>
                     <!-- <el-row>
                        <el-col :span="22" class="z_grid-content3">
                           <el-form-item label="题目类型" prop="titleType"
                              :rules="[{required: true, message: '请选择', trigger: ['blur', 'change']}]"
@@ -37,17 +37,60 @@
                              </el-select>
                           </el-form-item>
                        </el-col>
                     </el-row>
                     <el-row v-if="form_['title'].titleType">
                     </el-row> -->
                     <!-- <el-row v-if="form_['title'].titleType">
                        <el-col :span="22" class="z_grid-content1">
                           <el-form-item label="描述" 
                           >
                           <!-- prop="titleType"
                              :rules="[{required: true, message: '请输入', trigger: ['blur', 'change']}]" -->
                              <el-input type="textarea" v-model="form_['title'].titleInput" :placeholder="titleInput_" style="width: 100%;"></el-input>
                           </el-form-item>
                        </el-col>
                     </el-row> -->
                     <el-form-item label="人群"
                        prop="population"
                        :rules="[{required: true, message: '请输入人群', trigger: ['blur', 'change']}]"
                     >
                        <el-input type="textarea" v-model="form_['title'].population" @input="change_($event)" maxlength="50" show-word-limit  @change="form_change('title', 'population', 'population', null)"></el-input>
                     </el-form-item>
                     <el-form-item label="干预或因素"
                        prop="exposure"
                        :rules="[{required: true, message: '请输入干预或因素', trigger: ['blur', 'change']}]"
                     >
                        <el-input type="textarea" v-model="form_['title'].exposure" @input="change_($event)" maxlength="50" show-word-limit @change="form_change('title', 'exposure', 'exposure', null)"></el-input>
                     </el-form-item>
                     <el-form-item label="对照"
                        prop="comparator"
                        :rules="[{required: true, message: '请输入对照', trigger: ['blur', 'change']}]"
                     >
                        <el-input type="textarea" v-model="form_['title'].comparator" @input="change_($event)" maxlength="50" show-word-limit @change="form_change('title', 'comparator', 'comparator', null)"></el-input>
                     </el-form-item>
                     <el-form-item label="研究类型"
                        prop="titleType"
                        :rules="[{required: true, message: '请选择研究类型', trigger: ['blur', 'change']}]"
                     >
                        <el-select size="small" v-model="form_['title'].titleType" style="width: 100%;" @change="form_change('title', 'titleType', 'titleType', null)">
                           <el-option label="二次研究" value="二次研究"></el-option>
                           <el-option label="一次研究" value="一次研究"></el-option>
                        </el-select>
                     </el-form-item>
                     <el-row>
                        <el-col :span="10">
                           <el-form-item label="结局">
                              <el-select  multiple size="small" v-model="form_['title'].outcomes_array" style="width: 100%;" @change="form_change('title', 'outcomes', 'outcomes_array', 'arrayToStr')">
                                 <el-option label="有效性" value="有效性"></el-option>
                                 <el-option label="安全性" value="安全性"></el-option>
                                 <el-option label="经济性" value="经济性"></el-option>
                                 <el-option label="其它" value="其它"></el-option>
                              </el-select>
                           </el-form-item>
                        </el-col>
                        <el-col :span="14">
                           <el-form-item v-if="form_['title'].outcomes && form_['title'].outcomes.indexOf('其它') != -1" label="结局补充">
                              <el-input type="textarea" v-model="form_['title'].outcomesOther" style="width: 100%;" @input="change_($event)" maxlength="50" show-word-limit @change="form_change('title', 'outcomesOther', 'outcomesOther', null)"></el-input>
                           </el-form-item>
                        </el-col>
                     </el-row>
                     <el-row>
                        <el-col :span="6" class="z_grid-content3">
                           <el-form-item label="合同金额" prop="budget"
@@ -3745,26 +3788,26 @@
            defaultCheckedKeys: [],
            
            form_: {
               title: {mustAttach: true, parttimeUser:[]},
               scheme: {mustAttach: true, parttimeUser:[]},
               search: {mustAttach: true, parttimeUser:[]},
               select: {mustAttach: true, parttimeUser:[]},
               get: {mustAttach: true, parttimeUser:[]},
               find: {mustAttach: true, parttimeUser:[]},
               properties: {mustAttach: true, parttimeUser:[]},
               risk: {mustAttach: true, parttimeUser:[]},
               target: {mustAttach: true, parttimeUser:[]},
               analyse: {mustAttach: true, parttimeUser:[]},
               arrange: {mustAttach: true, parttimeUser:[]},
               meta: {mustAttach: true, parttimeUser:[]},
               grade: {mustAttach: true, parttimeUser:[]},
               tsa: {mustAttach: true, parttimeUser:[]},
               compose: {mustAttach: true, parttimeUser:[]},
               translate: {mustAttach: true, parttimeUser:[]},
               evaluation: {mustAttach: true, parttimeUser:[]},
               recommend: {mustAttach: true, parttimeUser:[]},
               format: {mustAttach: true, parttimeUser:[]},
               Contribute: {mustAttach: true, parttimeUser:[]},
               title: {mustAttach: true, parttimeList: [], parttime: false},
               scheme: {mustAttach: true, parttimeList: [], parttime: false},
               search: {mustAttach: true, parttimeList: [], parttime: false},
               select: {mustAttach: true, parttimeList: [], parttime: false},
               get: {mustAttach: true, parttimeList: [], parttime: false},
               find: {mustAttach: true, parttimeList: [], parttime: false},
               properties: {mustAttach: true, parttimeList: [], parttime: false},
               risk: {mustAttach: true, parttimeList: [], parttime: false},
               target: {mustAttach: true, parttimeList: [], parttime: false},
               analyse: {mustAttach: true, parttimeList: [], parttime: false},
               arrange: {mustAttach: true, parttimeList: [], parttime: false},
               meta: {mustAttach: true, parttimeList: [], parttime: false},
               grade: {mustAttach: true, parttimeList: [], parttime: false},
               tsa: {mustAttach: true, parttimeList: [], parttime: false},
               compose: {mustAttach: true, parttimeList: [], parttime: false},
               translate: {mustAttach: true, parttimeList: [], parttime: false},
               evaluation: {mustAttach: true, parttimeList: [], parttime: false},
               recommend: {mustAttach: true, parttimeList: [], parttime: false},
               format: {mustAttach: true, parttimeList: [], parttime: false},
               Contribute: {mustAttach: true, parttimeList: [], parttime: false},
            },
            
            options_titleType: [
@@ -3925,9 +3968,18 @@
                     me.form_[detail_.type].userIds.push(detail_.roleName);
                     me.form_[detail_.type].userIds.push(detail_.userId);
                     
                     if (detail_.parttimeUser) {
                        me.form_[detail_.type].parttimeUser = detail_.parttimeUser.split(";");
                     if (detail_.existsObject) {//如果有额外字段
                        for(let itm in detail_.existsObject) {
                           me.form_[detail_.type][itm] = detail_.existsObject[itm];
                           if (itm == "outcomes" && me.form_[detail_.type].outcomes) {
                              me.form_[detail_.type].outcomes_array = me.form_[detail_.type].outcomes.split(";");
                           }
                        }
                     }
                     /* if (detail_.parttimeUser) {
                        me.form_[detail_.type].parttimeUser = detail_.parttimeUser.split(";");
                     } */
                     
                     /* let items_ = "items_" + detail_.type;
                     this.form_[detail_.type][items_] = [];
@@ -3959,6 +4011,9 @@
               let checkedData = checkedDatas[i];
               if (!checkedData.children) {
                  showData_[checkedData.id] = true;
                  if (checkedData.tableName) {
                     this.form_[checkedData.id].dataInfoTable = checkedData.tableName;
                  }
               }
            }
            
@@ -3978,7 +4033,52 @@
         
         parttimeChange(code) {
            if (!this.form_[code].parttime ) {
               this.form_[code].parttimeUser = [];
               this.form_[code].parttimeList = [];
            }
         },
         change_(e){
            this.$forceUpdate();
         },
         form_change(type, key, valKey, code) {
            let val = this.form_[type][valKey];
            if (!this.form_[type].existsObject) {
               this.form_[type].existsObject = {};
            }
            if (code && code == "arrayToStr") {
               if (val.length > 0) {
                 for (let i = 0; i< val.length; i++) {
                   if (i == 0) {
                     this.form_[type].existsObject[key] = val[i];
                   }
                     else {
                        this.form_[type].existsObject[key] += ";" + val[i];
                     }
                 }
               }
               else {
                  this.form_[type].existsObject[key] = "";
               }
            }
            else {
               this.form_[type].existsObject[key] = val;
            }
         },
         outcomesArrayChange_(code) {
            let val = this.form_[code].outcomes_array;
            if (val.length > 0) {
              for (let i = 0; i< val.length; i++) {
                if (i == 0) {
                  this.form_[code].outcomes = val[i];
                }
                  else {
                     this.form_[code].outcomes += ";" + val[i];
                  }
              }
            }
            else {
               this.form_[code].outcomes = "";
            }
         },
         
@@ -4014,6 +4114,9 @@
            });
            
            if (is_null1) {
               if (!this.form_[this.ParttimeType].parttimeList) {
                  this.form_[this.ParttimeType].parttimeList = [];
               }
               this.form_[this.ParttimeType].parttimeList.push({...this.formInline});
               this.dialog_2_2 = false;
            }