Browse Source

Merge branch 'uiUpdate0507' of http://192.168.2.236:10080/zhouna/platformFront into uiUpdate0507

reaper 4 years ago
parent
commit
4c7be9eec8
2 changed files with 367 additions and 299 deletions
  1. 0 1
      src/components/common/HomePage.vue
  2. 367 298
      src/components/knowledgeExtra/AddDiagBase.vue

+ 0 - 1
src/components/common/HomePage.vue

@@ -106,7 +106,6 @@ export default {
   methods: {
     collect() {
       this.onshow = !this.onshow;
-      
     },
     getMenuList() {
       api

+ 367 - 298
src/components/knowledgeExtra/AddDiagBase.vue

@@ -1,7 +1,6 @@
 <template>
-  <div style="min-height:100%">
+  <div style="min-height:100%" ref="viewBox">
     <crumbs :title="title" :param="$route.params" linkTo="ZskDiagBase"></crumbs>
-
     <div class="contents">
       <div class="content">
         <el-form
@@ -55,6 +54,7 @@
             :data="form.klDiagnoseTypeVO"
             :row-class-name="tableRowClassName"
             border
+            max-height="500"
             :header-cell-style="{background:'#E3EAF4'}"
           >
             <el-table-column label="依据" width="100">
@@ -79,19 +79,19 @@
                     height="18"
                     width="18"
                     class="icon"
-                    @click="form.klDiagnoseTypeVO.length===1?'':delDiag(scope.$index)"
+                    @click="delDiag(scope.row.depart_id,scope.$index)"
                   />
                 </el-form-item>
               </template>
             </el-table-column>
-            <el-table-column label="诊断依据类型" width="100">
+            <el-table-column label="诊断依据类型" width="130">
               <template slot="header" slot-scope="scope">
                 <span class="star">*</span>
                 <span>诊断依据类型</span>
               </template>
               <template slot-scope="scope">
                 <el-form-item
-                  class="form-s"
+                  class="is-request"
                   :prop="'klDiagnoseTypeVO.'+scope.$index+'.conditionType'"
                   :rules="[{ required: true, message: '请选择诊断依据类型',trigger: ['change'] }]"
                 >
@@ -116,287 +116,301 @@
                 <span>{{v.title}}</span>
               </template>
               <template slot-scope="scope">
-                <div v-for="(item,index) in scope.row.groupVO" :key="index" class="big-box">
-                  <el-form-item v-if="v.title=='组'">
-                    <img
-                      src="../../images/icon-add.png"
-                      height="18"
-                      width="18"
-                      class="icon"
-                      @click="addGroup(scope.$index)"
-                    />
-                    <img
-                      src="../../images/icon-delete.png"
-                      height="18"
-                      width="18"
-                      class="icon"
-                      @click="delGroup(scope.$index)"
-                    />
-                  </el-form-item>
-                  <el-form-item
-                    v-if="v.title == '符合条件的数量'"
-                    :prop="'klDiagnoseTypeVO.'+scope.$index+'.groupVO.'+index+'.fitNo'"
-                    :rules="[{required:true,message:'请选择符合条件的数量',trigger:'change'}]"
-                  >
-                    <el-select v-model="item.fitNo">
-                      <el-option
-                        v-for="item in numArr[scope.$index].num[index]"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.id"
-                      ></el-option>
-                    </el-select>
-                  </el-form-item>
-                  <div v-for="(items,i) in item.klDiagnoseDetail" :key="i">
-                    <el-form-item v-if="v.title == '基础依据'">
+                <div v-for="(item,index) in scope.row.groupVO" :key="index">
+                  <div v-if="v.title=='组'">
+                    <el-form-item>
                       <img
                         src="../../images/icon-add.png"
                         height="18"
                         width="18"
                         class="icon"
-                        @click="addRule(scope.row,scope.$index,index)"
+                        @click="addGroup(scope.$index)"
                       />
                       <img
                         src="../../images/icon-delete.png"
                         height="18"
                         width="18"
                         class="icon"
-                        @click="delRule(scope.row,scope.$index,index,i)"
+                        @click="delGroup(scope.row.depart_id,scope.$index)"
                       />
                     </el-form-item>
+                  </div>
+                  <div v-if="v.title == '符合条件的数量'">
                     <el-form-item
-                      v-if="v.title == '基础依据名称'"
-                      :prop="'klDiagnoseTypeVO.' +
-                      scope.$index +
-                      '.groupVO.' +
-                      index +
-                      '.klDiagnoseDetail.'+i+'.basDescription'"
-                      :rules="[{required:true,message:'请输入基础依据名称',trigger:'blur'}]"
-                    >
-                      <el-input
-                        class="inp-name"
-                        placeholder="请输入基础依据名称"
-                        maxlength="100"
-                        v-model.trim="items.basDescription"
-                      ></el-input>
-                    </el-form-item>
-                    <el-form-item
-                      v-if="v.title == '基础依据类型'"
-                      :prop="'klDiagnoseTypeVO.' +
-                      scope.$index +
-                      '.groupVO.' +
-                      index +
-                      '.klDiagnoseDetail.'+i+'.basType'"
-                      :rules="[{required:true,message:'请选择基础依据类型',trigger:'change'}]"
-                    >
-                      <el-select
-                        v-model="items.basType"
-                        @change="(val)=>baseTermTypeChange(val,scope.$index,index,i)"
-                      >
-                        <el-option
-                          v-for="item in baseTermTypeList"
-                          :key="item.id"
-                          :label="item.name"
-                          :value="item.type"
-                        ></el-option>
-                      </el-select>
-                    </el-form-item>
-                    <el-form-item
-                      v-if="v.title == '基础依据术语类型' && !items.basNameType"
-                      :prop="'klDiagnoseTypeVO.' +
-                      scope.$index +
-                      '.groupVO.' +
-                      index +
-                      '.klDiagnoseDetail.'+i+'.basLibType'"
-                      :rules="[{required:true,message:'请选择基础依据术语类型',trigger:'change'}]"
+                      :prop="'klDiagnoseTypeVO.'+scope.$index+'.groupVO.'+index+'.fitNo'"
+                      :rules="[{required:true,message:'请选择符合条件的数量',trigger:'change'}]"
                     >
-                      <el-select
-                        v-model="items.basLibType"
-                        @change="(val)=>basLibTypeChange(val,scope.$index,index,i)"
-                      >
+                      <el-select v-model="item.fitNo">
                         <el-option
-                          v-for="item in items.basLibTypeList"
+                          v-for="item in numArr[scope.$index].num[index]"
                           :key="item.id"
                           :label="item.name"
-                          :value="Number(item.code)"
+                          :value="item.id"
                         ></el-option>
                       </el-select>
                     </el-form-item>
-                    <el-form-item v-if="items.basNameType && v.title == '基础依据术语类型'">
-                      <el-input disabled v-model="items.basTypeName"></el-input>
-                    </el-form-item>
-                    <el-form-item
-                      v-if="v.title == '医学标准术语'"
-                      class="box-2"
-                      :class="(items.basType===3 || items.basType===4)? 'tmall' : 'taobao'"
-                      :prop="'klDiagnoseTypeVO.' +
-                        scope.$index +
-                        '.groupVO.' +
-                        index +
-                        '.klDiagnoseDetail.'+i+'.basConceptId'"
-                      :rules="[{required:true,message:'请输入医学标准术语',trigger:'change'}]"
-                    >
-                      <el-select
-                        clearable
-                        remote
-                        filterable
-                        :remote-method="(val)=>searchConcept(val,scope.$index,index,i)"
-                        v-model.trim="items.basConceptId"
-                        @change="(val)=>conceptChange(val,scope.$index,index,i)"
-                      >
-                        <el-option
-                          v-for="item in items.conceptList"
-                          :key="item.conceptId"
-                          :label="item.conceptName"
-                          :value="item.conceptId"
-                        ></el-option>
-                      </el-select>
-                    </el-form-item>
-                    <el-form-item class="last-box" v-if="v.title == '依据具体内容'">
-                      <el-form-item
-                        :prop="'klDiagnoseTypeVO.' +
+                  </div>
+                  <div v-for="(items,i) in item.klDiagnoseDetail" :key="i">
+                    <el-form-item>
+                      <div v-if="v.title == '基础依据'">
+                        <el-form-item>
+                          <img
+                            src="../../images/icon-add.png"
+                            height="18"
+                            width="18"
+                            class="icon"
+                            @click="addRule(scope.row,scope.$index,index)"
+                          />
+                          <img
+                            src="../../images/icon-delete.png"
+                            height="18"
+                            width="18"
+                            class="icon"
+                            @click="delRule(scope.row,scope.$index,index,i)"
+                          />
+                        </el-form-item>
+                      </div>
+                      <div class="box-2" v-if="v.title == '基础依据名称'">
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
                         scope.$index +
                         '.groupVO.' +
                         index +
-                        '.klDiagnoseDetail.'+i+'.dataType'"
-                        :rules="[{required:true,message:'请选择类型',trigger:'change'}]"
-                        v-if="items.basType===2&&!items.onlyNumType&&!items.onlyTxtType"
-                      >
-                        <el-select
-                          class="box-1"
-                          :class="items.basType===2&&!items.onlyNumType&&!items.onlyTxtType? 'taobao' : 'tmall'"
-                          v-model="items.dataType"
-                          @change="(val)=>dataTypeChange(val,scope.$index,index,i)"
-                          placeholder="请选择"
-                          size="small"
+                        '.klDiagnoseDetail.'+i+'.basDescription'"
+                          :rules="[{required:true,message:'请输入基础依据名称',trigger:'blur'}]"
                         >
-                          <el-option
-                            v-for="item in dataTypes"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id"
-                          ></el-option>
-                        </el-select>
-                      </el-form-item>
-                      <el-form-item
-                        class="min-margin"
-                        :key="6"
-                        v-if="(!items.onlyNumType&&items.dataType==='1')||items.onlyNumType"
-                        label="最大值:"
+                          <el-input
+                            class="inp-name"
+                            placeholder="请输入基础依据名称"
+                            maxlength="100"
+                            v-model.trim="items.basDescription"
+                          ></el-input>
+                        </el-form-item>
+                      </div>
+                      <div class="box-2" v-if="v.title == '基础依据类型'">
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
+                          scope.$index +
+                          '.groupVO.' +
+                          index +
+                          '.klDiagnoseDetail.'+i+'.basType'"
+                          :rules="[{required:true,message:'请选择基础依据类型',trigger:'change'}]"
+                        >
+                          <el-select
+                            v-model="items.basType"
+                            @change="(val)=>baseTermTypeChange(val,scope.$index,index,i)"
+                          >
+                            <el-option
+                              v-for="item in baseTermTypeList"
+                              :key="item.id"
+                              :label="item.name"
+                              :value="item.type"
+                            ></el-option>
+                          </el-select>
+                        </el-form-item>
+                      </div>
+                      <div class="box-2" v-if="v.title == '基础依据术语类型'">
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
+                          scope.$index +
+                          '.groupVO.' +
+                          index +
+                          '.klDiagnoseDetail.'+i+'.basLibType'"
+                          :rules="[{required:true,message:'请选择基础依据术语类型',trigger:'change'}]"
+                          v-if="!items.basNameType"
+                        >
+                          <el-select
+                            v-model="items.basLibType"
+                            @change="(val)=>basLibTypeChange(val,scope.$index,index,i)"
+                          >
+                            <el-option
+                              v-for="item in items.basLibTypeList"
+                              :key="item.id"
+                              :label="item.name"
+                              :value="Number(item.code)"
+                            ></el-option>
+                          </el-select>
+                        </el-form-item>
+                        <el-form-item v-if="items.basNameType">
+                          <el-input disabled v-model="items.basTypeName"></el-input>
+                        </el-form-item>
+                      </div>
+                      <div
+                        v-if="v.title == '医学标准术语'"
+                        class="box-2"
+                        :class="items.basType===3 || items.basType===4? 'tmall' : 'taobao'"
                       >
-                        <div class="last-box-1">
-                          <el-form-item
-                            :prop="'klDiagnoseTypeVO.' +
-                            scope.$index +
-                            '.groupVO.' +
-                            index +
-                            '.klDiagnoseDetail.'+i+'.maxOperator'"
-                            :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'change'}]"
+                        <el-form-item
+                          v-if="items.basType==1 || items.basType==2"
+                          :prop="'klDiagnoseTypeVO.' +
+                          scope.$index +
+                          '.groupVO.' +
+                          index +
+                          '.klDiagnoseDetail.'+i+'.basConceptId'"
+                          :rules="[{required:true,message:'请输入医学标准术语',trigger:'change'}]"
+                        >
+                          <el-select
+                            clearable
+                            remote
+                            filterable
+                            :remote-method="(val)=>searchConcept(val,scope.$index,index,i)"
+                            v-model.trim="items.basConceptId"
+                            @change="(val)=>conceptChange(val,scope.$index,index,i)"
                           >
-                            <el-select
-                              v-model="items.maxOperator"
-                              placeholder="请选择"
-                              size="small"
-                              clearable
-                            >
-                              <el-option
-                                v-for="item in operMaxList"
-                                :key="item.key"
-                                :label="item.name"
-                                :value="item.key"
-                              ></el-option>
-                            </el-select>
-                          </el-form-item>
-
-                          <el-form-item
-                            :prop="'klDiagnoseTypeVO.' +
-                            scope.$index +
-                            '.groupVO.' +
-                            index +
-                            '.klDiagnoseDetail.'+i+'.maxVal'"
-                            :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
+                            <el-option
+                              v-for="item in items.conceptList"
+                              :key="item.conceptId"
+                              :label="item.conceptName"
+                              :value="item.conceptId"
+                            ></el-option>
+                          </el-select>
+                        </el-form-item>
+                      </div>
+                      <div class="last-box" v-if="v.title == '规则具体内容'">
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
+                          scope.$index +
+                          '.groupVO.' +
+                          index +
+                          '.klDiagnoseDetail.'+i+'.dataType'"
+                          :rules="[{required:true,message:'请选择类型',trigger:'change'}]"
+                          v-if="items.basType===2&&!items.onlyNumType&&!items.onlyTxtType"
+                        >
+                          <el-select
+                            class="box-1"
+                            :class="items.basType===2&&!items.onlyNumType&&!items.onlyTxtType? 'taobao' : 'tmall'"
+                            v-model="items.dataType"
+                            @change="(val)=>dataTypeChange(val,scope.$index,index,i)"
+                            placeholder="请选择"
+                            size="small"
                           >
-                            <el-input v-model="items.maxVal" placeholder="填写数值"></el-input>
-                          </el-form-item>
+                            <el-option
+                              v-for="item in dataTypes"
+                              :key="item.id"
+                              :label="item.name"
+                              :value="item.id"
+                            ></el-option>
+                          </el-select>
+                        </el-form-item>
+                        <el-form-item
+                          class="min-margin"
+                          :key="6"
+                          v-if="(!items.onlyNumType&&items.dataType==='1')||items.onlyNumType"
+                          label="最大值:"
+                        >
+                          <div class="last-box-1">
+                            <el-form-item
+                              :prop="'klDiagnoseTypeVO.' +
+                              scope.$index +
+                              '.groupVO.' +
+                              index +
+                              '.klDiagnoseDetail.'+i+'.maxOperator'"
+                              :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'change'}]"
+                            >
+                              <el-select
+                                v-model="items.maxOperator"
+                                placeholder="请选择"
+                                size="small"
+                                clearable
+                              >
+                                <el-option
+                                  v-for="item in operMaxList"
+                                  :key="item.key"
+                                  :label="item.name"
+                                  :value="item.key"
+                                ></el-option>
+                              </el-select>
+                            </el-form-item>
 
-                          <el-form-item prop="minUnit">
-                            <el-input v-model.trim="items.maxUnit" placeholder="填写单位"></el-input>
-                          </el-form-item>
-                        </div>
-                      </el-form-item>
-                      <el-form-item
-                        class="min-margin"
-                        v-if="(!items.onlyNumType&&items.dataType==='1')||items.onlyNumType"
-                        label="最小值:"
-                      >
-                        <div class="last-box-1 last-box-s">
-                          <el-form-item
-                            :prop="'klDiagnoseTypeVO.' +
+                            <el-form-item
+                              :prop="'klDiagnoseTypeVO.' +
+                              scope.$index +
+                              '.groupVO.' +
+                              index +
+                              '.klDiagnoseDetail.'+i+'.maxVal'"
+                              :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
+                            >
+                              <el-input v-model="items.maxVal" placeholder="填写数值"></el-input>
+                            </el-form-item>
+                            <el-form-item prop="minUnit">
+                              <el-input v-model.trim="items.maxUnit" placeholder="填写单位"></el-input>
+                            </el-form-item>
+                          </div>
+                        </el-form-item>
+                        <el-form-item
+                          class="min-margin"
+                          v-if="(!items.onlyNumType&&items.dataType==='1')||items.onlyNumType"
+                          label="最小值:"
+                        >
+                          <div class="last-box-1 last-box-s">
+                            <el-form-item
+                              :prop="'klDiagnoseTypeVO.' +
                             scope.$index +
                             '.groupVO.' +
                             index +
                             '.klDiagnoseDetail.'+i+'.minOperator'"
-                            :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'change'}]"
-                          >
-                            <el-select
-                              v-model="items.minOperator"
-                              placeholder="请选择"
-                              size="small"
-                              clearable
+                              :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'change'}]"
                             >
-                              <el-option
-                                v-for="item in operMinList"
-                                :key="item.key"
-                                :label="item.name"
-                                :value="item.key"
-                              ></el-option>
-                            </el-select>
-                          </el-form-item>
+                              <el-select
+                                v-model="items.minOperator"
+                                placeholder="请选择"
+                                size="small"
+                                clearable
+                              >
+                                <el-option
+                                  v-for="item in operMinList"
+                                  :key="item.key"
+                                  :label="item.name"
+                                  :value="item.key"
+                                ></el-option>
+                              </el-select>
+                            </el-form-item>
 
-                          <el-form-item
-                            :prop="'klDiagnoseTypeVO.' +
+                            <el-form-item
+                              :prop="'klDiagnoseTypeVO.' +
                             scope.$index +
                             '.groupVO.' +
                             index +
                             '.klDiagnoseDetail.'+i+'.minVal'"
-                            :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
-                          >
-                            <el-input v-model="items.minVal" placeholder="填写数值"></el-input>
-                          </el-form-item>
+                              :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
+                            >
+                              <el-input v-model="items.minVal" placeholder="填写数值"></el-input>
+                            </el-form-item>
 
-                          <el-form-item prop="minUnit">
-                            <el-input v-model.trim="items.minUnit" placeholder="填写单位"></el-input>
-                          </el-form-item>
-                        </div>
-                      </el-form-item>
-                      <el-form-item
-                        :prop="'klDiagnoseTypeVO.' +
-                        scope.$index +
-                        '.groupVO.' +
-                        index +
-                        '.klDiagnoseDetail.'+i+'.eqValue'"
-                        :rules="[{required:true,message:'请输入正则表达式',trigger:'blur'}]"
-                        v-if="items.basType===4 || items.basType===3"
-                        maxlength="200"
-                        label="正则表达式:"
-                        class="discDesc"
-                      >
-                        <el-input class="inp" placeholder="不能为空~" v-model.trim="items.eqValue"></el-input>
-                      </el-form-item>
-                      <el-form-item
-                        :prop="'klDiagnoseTypeVO.' +
-                        scope.$index +
-                        '.groupVO.' +
-                        index +
-                        '.klDiagnoseDetail.'+i+'.eqValue'"
-                        :rules="[{required:true,message:'不能为空~',trigger:'blur'}]"
-                        maxlength="200"
-                        v-if="(!items.onlyNumType&&!items.basNameType&&(items.basType===2 || items.basType===1)&&items.dataType==='2')||items.onlyTxtType"
-                        label="医学内容:"
-                        class="discDesc"
-                      >
-                        <el-input v-model.trim="items.eqValue" class="inp" placeholder="请输入医学内容"></el-input>
-                      </el-form-item>
+                            <el-form-item prop="minUnit">
+                              <el-input v-model.trim="items.minUnit" placeholder="填写单位"></el-input>
+                            </el-form-item>
+                          </div>
+                        </el-form-item>
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
+                          scope.$index +
+                          '.groupVO.' +
+                          index +
+                          '.klDiagnoseDetail.'+i+'.eqValue'"
+                          :rules="[{required:true,message:'请输入正则表达式',trigger:'blur'}]"
+                          v-if="items.basType===4 || items.basType===3"
+                          maxlength="200"
+                          label="正则表达式:"
+                          class="discDesc"
+                        >
+                          <el-input class="inp" placeholder="不能为空~" v-model.trim="items.eqValue"></el-input>
+                        </el-form-item>
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
+                          scope.$index +
+                          '.groupVO.' +
+                          index +
+                          '.klDiagnoseDetail.'+i+'.eqValue'"
+                          :rules="[{required:true,message:'不能为空~',trigger:'blur'}]"
+                          maxlength="200"
+                          v-if="(!items.onlyNumType&&!items.basNameType&&(items.basType===2 || items.basType===1)&&items.dataType==='2')||items.onlyTxtType"
+                          label="医学内容:"
+                          class="discDesc"
+                        >
+                          <el-input v-model.trim="items.eqValue" class="inp" placeholder="请输入医学内容"></el-input>
+                        </el-form-item>
+                      </div>
                     </el-form-item>
                   </div>
                 </div>
@@ -404,8 +418,9 @@
             </el-table-column>
           </el-table>
         </el-form>
+
         <div class="Butn">
-          <el-button class="disclButn" size="small" type="primary" @click="confirm">保存</el-button>
+          <el-button class="disclButn" size="small" type="primary" @click="confirm">确定</el-button>
         </div>
       </div>
     </div>
@@ -421,13 +436,13 @@ export default {
     return {
       columns: [
         { title: '组', width: 70 },
-        { title: '符合条件的数量', width: 105, istar: true },
+        { title: '符合条件的数量', width: 150, istar: true },
         { title: '基础依据', width: 80, istar: true },
         { title: '基础依据名称', width: 160, istar: true },
-        { title: '基础依据类型', width: 150, istar: true },
-        { title: '基础依据术语类型', width: 165, istar: true },
+        { title: '基础依据类型', width: 130, istar: true },
+        { title: '基础依据术语类型', width: 160, istar: true },
         { title: '医学标准术语', width: 130, istar: true },
-        { title: '依据具体内容', width: 850 }
+        { title: '规则具体内容', width: 850 }
       ],
       dicts: {},
       baseTypes: [], //诊断数据类型
@@ -449,6 +464,7 @@ export default {
             depart_id: 0,
             groupVO: [
               {
+                inx: 0,
                 baseGroup: '',
                 conditionGroup: '',
                 fitNo: '',
@@ -534,7 +550,7 @@ export default {
       spanArr: [],
       list: [], //提交数据数组,
       i: 0,
-      imgshow: false
+      inx: 0
     };
   },
   created() {
@@ -554,6 +570,7 @@ export default {
         info.klDiagnoseTypeVO[i].depart_id = this.i;
         this.i++;
       }
+
       this.form = Object.assign({}, this.form, this.formatData(info));
       if (this.isCopy) {
         this.conceptList = [];
@@ -580,10 +597,10 @@ export default {
                 this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
                   .basType
             );
-
             this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
               k
             ].basLibTypeList = this.baseTermTypeList[index2].subMenuList;
+
             this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
               k
             ].conceptList = [
@@ -611,7 +628,28 @@ export default {
                 k
               ].dataType = '2';
             }
-
+            if (
+              this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
+                .basType == 3 ||
+              this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
+                .basType == 4
+            ) {
+              this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
+                k
+              ].basTypeName = this.form.klDiagnoseTypeVO[i].groupVO[
+                j
+              ].klDiagnoseDetail[k].basLibTypeList[0].name;
+              this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
+                k
+              ].basNameType = true;
+            }else{
+              this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
+                k
+              ].basTypeName = '';
+              this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
+                k
+              ].basNameType = false;
+            }
             const onlyNum = this.dicts['onlyNum'] || '&';
             const onlyTxt = this.dicts['onlyTxt'] || '&';
             const codes = onlyNum + ',';
@@ -631,6 +669,7 @@ export default {
       }
     }
   },
+
   computed: {
     numArr() {
       let arr = [];
@@ -675,6 +714,7 @@ export default {
           newArr = arr;
         }
       });
+      // console.log(newArr)
       // this.$set(this, 'form.klDiagnoseTypeVO', newArr);
       this.getSpanArr(newArr);
     },
@@ -764,9 +804,8 @@ export default {
       this.i++;
       let temp = JSON.parse(JSON.stringify(this.form.klDiagnoseTypeVO));
       let obj = temp.filter(v => v.depart_id === name);
-
       for (var i in obj.reverse()) {
-        obj[i].depart_id = '复制依据' + this.i; //问题点2
+        obj[i].depart_id = this.i; //问题点2
         this.form.klDiagnoseTypeVO.splice(index, 0, obj[i]);
       }
     },
@@ -794,15 +833,16 @@ export default {
           }
         }
       }
-      if (dest.length == 0) {
+      if (dest.length == 1) {
         return;
       } else {
         dest.splice(i, 1);
-        this.form.klDiagnoseTypeVO = dest;
       }
+      this.form.klDiagnoseTypeVO = dest;
     },
     //新增组
     addGroup(i) {
+      this.inx++;
       const temp = {
         baseGroup: '',
         conditionGroup: '',
@@ -834,8 +874,30 @@ export default {
       };
       this.form.klDiagnoseTypeVO[i].groupVO.splice(i + 1, 0, temp);
     },
-    delGroup(i) {
-      if (this.form.klDiagnoseTypeVO.length == 1) {
+    delGroup(id, i) {
+      const formData = JSON.parse(JSON.stringify(this.form));
+      let map = {},
+        dest = [];
+      for (let i = 0; i < formData.klDiagnoseTypeVO.length; i++) {
+        let ai = formData.klDiagnoseTypeVO[i];
+        if (!map[ai.depart_id]) {
+          dest.push({
+            depart_id: ai.depart_id,
+            conditionType: ai.conditionType,
+            groupVO: ai.groupVO
+          });
+          map[ai.depart_id] = ai;
+        } else {
+          for (let j = 0; j < dest.length; j++) {
+            var dj = dest[j];
+            if (dj.depart_id == ai.depart_id) {
+              dj.groupVO = dj.groupVO.concat(ai.groupVO);
+              break;
+            }
+          }
+        }
+      }
+      if (dest[id].groupVO.length == 1) {
         return;
       } else {
         this.form.klDiagnoseTypeVO.splice(i, 1);
@@ -889,18 +951,18 @@ export default {
       this.baseTermTypeList = this.baseTypes[index2].subMenuList;
     },
     //基础依据类型修改
+    
     baseTermTypeChange(val, inx, index, i) {
       if (!val) {
-        this.basLibTypeList = [];
         return;
       }
       this.basType = val;
       this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
         i
       ].basType = val;
-      this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
-        i
-      ].basLibType = '';
+      // this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
+      //   i
+      // ].basLibType = '';
       this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
         i
       ].dataType = '';
@@ -1069,6 +1131,7 @@ export default {
       let str = JSON.stringify(data)
         .replace(/byIdDTO/g, 'groupVO')
         .replace(/klDiagnoseByIdDTO/g, 'klDiagnoseDetail');
+      //console.log(JSON.parse(str))
       return JSON.parse(str);
     },
     searchDiag(val) {
@@ -1159,9 +1222,7 @@ export default {
           }
         }
       }
-
       formData.klDiagnoseTypeVO = dest;
-
       this.validateForms(function() {
         let params = formData;
         _this.saveDiagBase(params);
@@ -1214,6 +1275,9 @@ export default {
     margin-top: 10px;
     padding: 20px 20px 50px;
     min-height: 600px;
+    .cell {
+      overflow: initial;
+    }
     .el-table .success-row {
       background: #dff7ef;
     }
@@ -1232,14 +1296,6 @@ export default {
         line-height: 17px;
       }
     }
-
-    .el-input,
-    .el-input__inner {
-      font-size: 12px;
-      line-height: 32px;
-      height: 32px;
-      margin-right: 15px;
-    }
     .is-request {
       height: 46px;
     }
@@ -1249,6 +1305,9 @@ export default {
         width: 140px !important;
       }
     }
+    .el-form-item {
+      margin-bottom: 10px;
+    }
     .discDesc {
       margin-bottom: 20px;
       .el-form-item__error {
@@ -1260,7 +1319,11 @@ export default {
     .el-popper[x-placement^='bottom'] {
       width: 100px !important;
     }
-
+    .disclButn {
+      position: absolute;
+      right: calc(50% - 60px);
+      bottom: 10px;
+    }
     .el-table .cell.el-tooltip {
       position: relative;
     }
@@ -1297,22 +1360,37 @@ export default {
       }
       .el-form-item__content {
         position: inherit !important;
-        display: flex;
-        margin-top: 2px;
+        line-height: 32px;
       }
       .last-box-1 {
         display: flex;
-        .el-form-item {
-          .el-form-item__error {
-            left: -60px;
-          }
+        .el-form-item__error {
+          top: 32px;
+          left: 160px;
+          white-space: nowrap;
+          background: #fff;
+        }
+      }
+      .last-box-s {
+        position: absolute;
+        .el-form-item__error {
+          top: 32px;
+          left: 0px;
+          white-space: nowrap;
+          background: #fff;
         }
       }
+      .el-form-item__error {
+        top: 32px;
+        left: 10px;
+        white-space: nowrap;
+        background: #fff;
+      }
       .box-1 {
         display: inline;
         /deep/ .el-input,
         .el-input__inner {
-          width: 100px;
+          width: 80px;
         }
       }
       .inp {
@@ -1323,19 +1401,16 @@ export default {
       }
       .el-form-item {
         margin: 0;
-        position: relative;
-        .el-form-item__error {
-          top: 35px;
-          left: 0;
-          white-space: nowrap;
-          background: #fff;
-        }
+        overflow: hidden;
+        display: flex;
       }
     }
-    .inp {
-      width: 600px !important;
+    .add-new-form {
+      .el-input,
       .el-input__inner {
-        width: 600px !important;
+        font-size: 12px;
+        line-height: 32px;
+        height: 32px;
       }
     }
 
@@ -1364,17 +1439,11 @@ export default {
     }
     .icon {
       padding: 0 3px;
-      cursor: pointer;
     }
     .star {
       color: #ff545b;
     }
   }
-  .disclButn {
-    position: absolute;
-    right: calc(50% - 60px);
-    bottom: 10px;
-  }
   .description .el-form-item__error {
     top: auto;
   }