<template>
  <div>
    <crumbs :title="minTitle" :param="$route.params" linkTo="BasicTermsMaintenance"></crumbs>
    <div class="contents">
      <div class="content">
        <h3>添加术语：</h3>

        <p class="titl">医学标准术语：</p>
        <table class="deptbox" v-if="id == ''">
          <tr>
            <td class="ind">序号</td>
            <td>
              医学标准术语
              <span class="necess">*</span>
            </td>
            <td>拼音</td>
            <td>
              术语类型
              <span class="necess">*</span>
            </td>
            <td class="desc">说明</td>
          </tr>
          <tr>
            <td class="ind">1</td>
            <td :title="data.libName&&data.libName.length>9?data.libName:''">
              <!-- 修改时标准词不能修改，修改了会当做新增处理 4-17 -->
              <p v-if="id">{{data.libName}}</p>
              <!-- 4-18 需求变更 -->
              <input
                v-else
                type="text"
                v-model.trim="data.libName"
                placeholder="请输入术语"
                maxlength="50"
                @blur="handleBlur(1)"
              />
              <SimilarListDrag
                :searchType="searchType"
                :similarList="similarList"
                isShow="true"
                @closeTable="closeTable"
              ></SimilarListDrag>
            </td>
            <td>
              <input
                type="text"
                v-model.trim="data.spell"
                placeholder="请输入拼音"
                maxlength="50"
                @input="handlePinyin($event,1)"
              />
            </td>
            <td>
              <!-- <el-select v-if="!id" v-model="data.type" filterable placeholder="请选择" size="small" @change="selectType">
                <el-option
                  v-for="item in typeList"
                  :key="item.id"
                  :label="item.name"
                  :value="item.name">
                </el-option>
              </el-select>-->
              <template v-if="!id">
                <el-select
                  v-model="data.type"
                  filterable
                  clearable
                  placeholder="请选择"
                  @clear="clearDataCi"
                  size="small"
                  @change="selectType"
                >
                  <el-option-group v-for="group in options" :key="group.label">
                    <el-option
                      v-for="item in group.options"
                      :key="item.id"
                      :label="item.name"
                      :value="item.name"
                    ></el-option>
                  </el-option-group>
                </el-select>
              </template>
              <span v-else>{{data.type}}</span>
            </td>
            <td class="desc">
              <input v-model.trim="data.remark" placeholder="请输入术语说明" maxlength="120" />
            </td>
          </tr>
        </table>
        <div class="deptboxChange" v-else>
          <table class="deptbox deptboxTable">
            <tr>
              <td class="ind">序号</td>
              <td class="desc">医学标准术语</td>
              <td>拼音</td>
              <td>术语类型</td>
              <td class="desc">说明</td>
              <td class="descs">术语性质</td>
              <td v-if="id">操作</td>
            </tr>
            <tr v-for="(item,index) in allwords" :key="index">
              <td class="ind">{{index+1}}</td>
              <td :title="item.libName&&item.libName.length>9?item.libName:''">
                <!-- 使用原生input，输入限制 -->
                <!-- <el-input v-model="item.name" placeholder="请输入术语" maxlength="30" size="small" @input.native="handleInput(2,index)"></el-input> -->
                <input
                  type="text"
                  v-model.trim="item.libName"
                  :title="item.name"
                  placeholder="请输入术语"
                  maxlength="50"
                  @blur="handleBlur(2,index,99)"
                />
                <SimilarListDrag
                  :searchType="searchType"
                  :similarList="similarList"
                  :isShow="index ===searchIndex"
                  @closeTable="closeTable"
                ></SimilarListDrag>
              </td>
              <!-- <td v-if="!item.isEdit">
                {{item.spell}}
              </td>
              <td v-else>-->
              <td>
                <input
                  type="text"
                  v-model.trim="item.spell"
                  placeholder="请输入拼音"
                  maxlength="50"
                  @input="handlePinyin($event,2,index)"
                  class="spell"
                />
              </td>
              <td>
                <template v-if="index==0&&copy">
                  <el-select
                    v-model="data.type"
                    filterable
                    placeholder="请选择"
                    size="small"
                    @clear="clearDataCi"
                    @change="selectType"
                  >
                    <el-option-group v-for="group in options" :key="group.label">
                      <el-option
                        v-for="item in group.options"
                        :key="item.id"
                        :label="item.name"
                        :value="item.name"
                      ></el-option>
                    </el-option-group>
                  </el-select>
                </template>
                <span v-else>{{data.type}}</span>
              </td>
              <td class="desc">
                <input v-model.trim="item.remark" placeholder="请输入术语说明" maxlength="120" />
              </td>
              <td class="desc">{{item.isConcept == 1?"医学标准术语":"同义词"}}</td>
              <td v-if="id">
                <span class="displayColor" v-if="item.isConcept == 1">删除</span>
                <span @click="deleLine(index,55,item)" class="delete" v-else>删除</span>
              </td>
            </tr>
            <tr @click="addSpan(55)">
              <td colspan="7" class="addSpan">+</td>
            </tr>
          </table>
          <div class="actionDo"></div>
        </div>
        <p class="titl" v-if="id == ''">同义词：</p>
        <table class="deptbox" v-if="id == ''">
          <tr>
            <td class="ind">序号</td>
            <td>医学标准术语</td>
            <td>拼音</td>
            <td>术语类型</td>
            <td class="desc">说明</td>
            <td v-if="id">操作</td>
          </tr>
          <tr v-for="(item,index) in synonymous" :key="index">
            <td class="ind">{{index+1}}</td>
            <td :title="item.libName&&item.libName.length>9?item.libName:''">
              <!-- 使用原生input，输入限制 -->
              <!-- <el-input v-model="item.name" placeholder="请输入术语" maxlength="30" size="small" @input.native="handleInput(2,index)"></el-input> -->
              <input
                type="text"
                v-model.trim="item.libName"
                placeholder="请输入术语123"
                maxlength="50"
                @blur="handleBlur(2,index)"
              />
              <SimilarListDrag
                :searchType="searchType"
                :similarList="similarList"
                :isShow="index ===searchIndex"
                @closeTable="closeTable"
              ></SimilarListDrag>
            </td>
            <td>
              <input
                type="text"
                v-model.trim="item.spell"
                placeholder="请输入拼音"
                maxlength="50"
                @input="handlePinyin($event,3,index)"
              />
            </td>
            <td>{{data.type}}</td>
            <td class="desc">
              <input v-model.trim="item.remark" placeholder="请输入术语说明" maxlength="120" />
            </td>
            <td v-if="id">
              <span @click="deleLine(index,1,item)" class="delete">删除</span>
            </td>
          </tr>
          <tr @click="addSpan">
            <td :colspan="colspan" class="addSpan">+</td>
          </tr>
        </table>
        <div class="moreInfo" v-if="showMore == 1">
          <p>更多信息：</p>
          <el-form label-width="150px">
            <el-form-item label="性别：">
              <el-select v-model="sexType">
                <el-option v-for="(it,i) in sex" :key="i" :label="it.name" :value="it.name"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="年龄：" class="ages is-required">
              <el-input v-model.number="minAge" type="number" @input="inputAge"></el-input>
              <span class="ageLine">~</span>
              <el-input v-model.number="maxAge" type="number" @input="inputAge"></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='实验室检查子项目'" label="参考范围" class="ages">
              <el-radio-group v-model="radio" @change="changeRadio">
                <el-radio :label="1">数值内容</el-radio>
                <el-radio :label="2">文本内容</el-radio>
              </el-radio-group>
            </el-form-item>
            <el-form-item
              v-if="data.type=='实验室检查子项目' && (radio == 1 || klLisVO.minValue || klLisVO.maxValue)"
              class="ages"
            >
              <el-input v-model.trim="klLisVO.minValue" type="number" @input="inputAge"></el-input>
              <span class="ageLine">~</span>
              <el-input v-model.trim="klLisVO.maxValue" type="number" @input="inputAge"></el-input>
              <el-input
                class="inp"
                v-model.trim="klLisVO.unit"
                placeholder="输入单位"
                maxlength="6"
                type="text"
                @input="inputAge"
              ></el-input>
            </el-form-item>
            <el-form-item
              v-if="data.type=='实验室检查子项目' && (radio == 2 || klLisVO.qualitative !='')"
              class="ages"
            >
              <div-editable
                v-if="data.type=='实验室检查子项目' && (radio == 2 || klLisVO.qualitative !='')"
                v-model="klLisVO.qualitative"
                :Maincontent="'Maincontent'"
              ></div-editable>
            </el-form-item>
            <div
              v-if="data.type=='实验室检查子项目' && (radio == 1 || klLisVO.minValue || klLisVO.maxValue)"
              style="width:300px; display:inlne;position: relative;right: -530px;top: -40px;"
            >
              <span style="margin-right:15px">范围</span>
              <el-select v-model="klLisVO.type">
                <el-option v-for="(it,i) in range" :key="i" :label="it.name" :value="it.value"></el-option>
              </el-select>
            </div>

            <el-form-item label="科室：" v-if="dioType" class="marT">
              <el-select v-model="dept">
                <!-- <el-option v-for="(it,i) in deptList" :label="it.name" :value="it.name"></el-option> -->
                <el-option-group v-for="group in deptListArr" :key="group.label">
                  <el-option
                    v-for="item in group.deptList"
                    :key="item.id"
                    :label="item.name"
                    :value="item.name"
                  ></el-option>
                </el-option-group>
              </el-select>
            </el-form-item>
            <el-form-item label="归属类型：" v-if="dioType" class="marT">
              <el-select v-model="dioType">
                <el-option v-for="(it,i) in dioTypeList" :key="i" :label="it.name" :value="it.val"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="药品类型：" v-if="data.type=='药品通用名'" class="marT is-required">
              <el-select v-model="drug">
                <el-option v-for="(it,i) in drugTypeList" :key="i" :label="it.name" :value="it.val"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item
              label="危急标识："
              v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
              class="marT"
            >
              <el-radio-group v-model="klPacsVO.emergencySign">
                <el-radio :label="1">是</el-radio>
                <el-radio :label="0">否</el-radio>
              </el-radio-group>
            </el-form-item>
            <el-form-item
              label="方法："
              v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
              class="marT"
            >
              <div-editable
                v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
                v-model="klPacsVO.checkMethod"
                :Maincontent="'checkMethod'"
              ></div-editable>
            </el-form-item>
            <el-form-item
              label="检查技术："
              v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
              class="marT"
            >
              <div-editable
                v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
                v-model="klPacsVO.checkSkillful"
                :Maincontent="'checkSkillful'"
              ></div-editable>
            </el-form-item>
            <el-form-item
              label="项目定义："
              v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
              class="marT"
            >
              <el-input
                class="txt"
                type="textarea"
                row="3"
                v-model.trim="klPacsVO.definition"
                placeholder="请输入"
                maxlength="500"
              ></el-input>
            </el-form-item>
            <el-form-item
              label="检查目的："
              v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
              class="marT"
            >
              <el-input
                type="textarea"
                row="3"
                v-model.trim="klPacsVO.checkObjective"
                placeholder="请输入"
                maxlength="500"
              ></el-input>
            </el-form-item>
            <el-form-item
              label="禁忌症和局限性："
              v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
              class="marT"
            >
              <el-input
                type="textarea"
                row="3"
                v-model.trim="klPacsVO.condLimit"
                placeholder="请输入"
                maxlength="500"
              ></el-input>
            </el-form-item>
            <el-form-item
              label="适应症："
              v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
              class="marT"
            >
              <el-input
                type="textarea"
                row="3"
                v-model.trim="klPacsVO.interventional"
                placeholder="请输入"
                maxlength="500"
              ></el-input>
            </el-form-item>
            <el-form-item
              label="检查前准备："
              v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
              class="marT"
            >
              <el-input
                type="textarea"
                row="3"
                v-model.trim="klPacsVO.checkPrepare"
                placeholder="请输入"
                maxlength="500"
              ></el-input>
            </el-form-item>

            <el-form-item v-if="data.type=='症状'" label="阳性症状：" prop="description" class="marT">
              <el-radio v-model="klSymptomVO.isPositive" :label="1">是</el-radio>
              <el-radio v-model="klSymptomVO.isPositive" :label="0">否</el-radio>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="英文名称：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='症状'"
                v-model="klSymptomVO.enName"
                :Maincontent="'enNamekl'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="就诊科室：" prop="description" class="marT">
              <searchTerm
                v-if="data.type=='症状'"
                :refbool.sync="klSymptomVO.deptList"
                :id="id"
                :type="115"
              ></searchTerm>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="发病部位：" prop="description" class="marT">
              <searchTerm
                v-if="data.type=='症状'"
                :refbool.sync="klSymptomVO.partList"
                :id="id"
                :type="122"
              ></searchTerm>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="常见伴随症状：" prop="description" class="marT">
              <searchTerm
                v-if="data.type=='症状'"
                :refbool.sync="klSymptomVO.conSymptomList"
                :id="id"
                :type="103"
              ></searchTerm>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="性质：" prop="description" class="marT">
              <searchTerm
                v-if="data.type=='症状'"
                :refbool.sync="klSymptomVO.natureList"
                :id="id"
                :type="126"
              ></searchTerm>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="缓解因素：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='症状'"
                v-model="klSymptomVO.mitigatingFac"
                :Maincontent="'mitigatingFac'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="加重因素：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='症状'"
                v-model="klSymptomVO.aggravateFac"
                :Maincontent="'aggravateFac'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="通俗解释：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='症状'"
                v-model="klSymptomVO.commonExplain"
                :Maincontent="'commonExplain'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="定义：" prop="description" class="marT">
              <el-input
                type="textarea"
                row="3"
                v-model.trim="klSymptomVO.definition"
                placeholder="请输入"
                maxlength="500"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="症状起因：" prop="description" class="marT">
              <el-input
                type="textarea"
                row="3"
                v-model.trim="klSymptomVO.cause"
                placeholder="请输入"
                maxlength="500"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="常见疾病：" prop="description" class="marT">
              <el-input
                type="textarea"
                row="3"
                v-model.trim="klSymptomVO.commonDis"
                placeholder="请输入"
                maxlength="500"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="预防措施：" prop="description" class="marT">
              <el-input
                type="textarea"
                row="3"
                v-model.trim="klSymptomVO.preMeasures"
                placeholder="请输入"
                maxlength="500"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='症状'" label="饮食禁忌：" prop="description" class="marT">
              <el-input
                type="textarea"
                row="3"
                v-model.trim="klSymptomVO.foodProhibition"
                placeholder="请输入"
                maxlength="500"
              ></el-input>
            </el-form-item>
            <el-form-item
              v-if="data.type=='疾病'"
              label="ICD10编码："
              prop="description"
              class="marT description"
            >
              <el-input v-model.trim="klDiseaseVO.icd10Code" maxlength="30" placeholder="请输入"></el-input>
            </el-form-item>
            <el-form-item
              v-if="data.type=='疾病'"
              label="发病率："
              prop="description"
              class="marT description"
            >
              <el-input v-model.trim="klDiseaseVO.incidence" placeholder="请输入"></el-input>
            </el-form-item>

            <el-form-item label="遗传性：" v-if="data.type=='疾病'" class="marT">
              <el-radio-group v-model="klDiseaseVO.isHeredity">
                <el-radio :label="1">是</el-radio>
                <el-radio :label="0">否</el-radio>
              </el-radio-group>
            </el-form-item>
            <el-form-item label="常见病：" v-if="data.type=='疾病'" class="marT">
              <el-radio-group v-model="klDiseaseVO.isCommonDis">
                <el-radio :label="1">是</el-radio>
                <el-radio :label="0">否</el-radio>
              </el-radio-group>
            </el-form-item>
            <el-form-item label="传染性：" v-if="data.type=='疾病'" class="marT">
              <el-radio-group v-model="klDiseaseVO.isInfect">
                <el-radio :label="1">是</el-radio>
                <el-radio :label="0">否</el-radio>
              </el-radio-group>
            </el-form-item>
            <el-form-item label="疾病就诊科室：" v-if="data.type=='疾病'" class="marT">
              <searchTerm
                v-if="data.type=='疾病'"
                :refbool.sync="klDiseaseVO.deptList"
                :id="id"
                :type="115"
              ></searchTerm>
            </el-form-item>
            <el-form-item label="疾病发病部位：" v-if="data.type=='疾病'" class="marT">
              <searchTerm
                v-if="data.type=='疾病'"
                :refbool.sync="klDiseaseVO.partList"
                :id="id"
                :type="122"
              ></searchTerm>
            </el-form-item>
            <el-form-item label="疾病系统分类：" v-if="data.type=='疾病'" class="marT">
              <searchTerm
                v-if="data.type=='疾病'"
                :refbool.sync="klDiseaseVO.systemTypeList"
                :id="id"
                :type="307"
              ></searchTerm>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="肿瘤/细胞类型：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.tumorCellType"
                :Maincontent="'tumorCellType'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="形态学分类代码：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.morphology"
                :Maincontent="'morphology'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="英文名称：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.enName"
                :Maincontent="'enNamej'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="英文简称：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.enNameSimple"
                :Maincontent="'enNameSimple'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="疾病简称：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.nameSimple"
                :Maincontent="'nameSimple'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="好发人群：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.vulCrowd"
                :Maincontent="'vulCrowd'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="好发地区：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.vulArea"
                :Maincontent="'vulArea'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="病程：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.course"
                :Maincontent="'course'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="危害性：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.pernicious"
                :Maincontent="'pernicious'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="治愈性：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.healing"
                :Maincontent="'healing'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="诱因：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='疾病'"
                v-model="klDiseaseVO.inducement"
                :Maincontent="'inducement'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="疾病分型：" prop="description" class="marT">
              <el-input
                v-model.trim="klDiseaseVO.disType"
                maxlength="500"
                placeholder="请输入"
                row="3"
                type="textarea"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="并发症：" prop="description" class="marT">
              <el-input
                v-model.trim="klDiseaseVO.complication"
                maxlength="500"
                placeholder="请输入"
                row="3"
                type="textarea"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="临床分类：" prop="description" class="marT">
              <el-input
                v-model.trim="klDiseaseVO.clinicType"
                maxlength="500"
                placeholder="请输入"
                row="3"
                type="textarea"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="病因：" prop="description" class="marT">
              <el-input
                v-model.trim="klDiseaseVO.pathogeny"
                maxlength="500"
                placeholder="请输入"
                row="3"
                type="textarea"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="危险因素：" prop="description" class="marT">
              <el-input
                v-model.trim="klDiseaseVO.hazard"
                maxlength="500"
                placeholder="请输入"
                row="3"
                type="textarea"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='疾病'" label="饮食禁忌：" prop="description" class="marT">
              <el-input
                v-model.trim="klDiseaseVO.foodProhibition"
                maxlength="500"
                placeholder="请输入"
                row="3"
                type="textarea"
              ></el-input>
            </el-form-item>
            <el-form-item
              v-if="data.type=='实验室检查套餐' || data.type=='实验室检查子项目'"
              label="英文缩写："
              prop="description"
              class="marT"
            >
              <div-editable
                v-if="data.type=='实验室检查套餐' || data.type=='实验室检查子项目'"
                v-model="klLisVO.enName"
                :Maincontent="'enName'"
              ></div-editable>
            </el-form-item>
            <el-form-item
              v-if="data.type=='实验室检查套餐' || data.type=='实验室检查子项目'"
              label="所属类别："
              prop="description"
              class="marT"
            >
              <div-editable
                v-if="data.type=='实验室检查套餐' || data.type=='实验室检查子项目'"
                v-model="klLisVO.category"
                :Maincontent="'category'"
              ></div-editable>
            </el-form-item>
            <el-form-item
              v-if="data.type=='实验室检查套餐' || data.type=='实验室检查子项目'"
              label="检查标本："
              prop="description"
              class="marT"
            >
              <div-editable
                v-if="data.type=='实验室检查套餐' || data.type=='实验室检查子项目'"
                v-model="klLisVO.checkSpecimen"
                :Maincontent="'checkSpecimen'"
              ></div-editable>
            </el-form-item>
            <el-form-item
              v-if="data.type=='实验室检查套餐' || data.type=='实验室检查子项目'"
              label="临床意义："
              prop="description"
              class="marT"
            >
              <el-input
                v-model.trim="klLisVO.clinicalSig"
                maxlength="500"
                placeholder="请输入"
                row="3"
                type="textarea"
              ></el-input>
            </el-form-item>
            <el-form-item
              v-if="data.type=='实验室检查套餐' || data.type=='实验室检查子项目'"
              label="影响因素："
              prop="description"
              class="marT"
            >
              <el-input
                v-model.trim="klLisVO.influenceFac"
                maxlength="500"
                placeholder="请输入"
                row="3"
                type="textarea"
              ></el-input>
            </el-form-item>
            <el-form-item
              v-if="data.type=='实验室检查套餐' || data.type=='实验室检查子项目'"
              label="检查方法："
              prop="description"
              class="marT"
            >
              <el-input
                v-model.trim="klLisVO.checkMethod"
                maxlength="500"
                placeholder="请输入"
                row="3"
                type="textarea"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='体格检查结果'" label="科室：" prop="description" class="marT">
              <searchTerm
                v-if="data.type=='体格检查结果'"
                :refbool.sync="klVitalResultVO.deptList"
                :id="id"
                :type="115"
              ></searchTerm>
            </el-form-item>
            <el-form-item v-if="data.type=='体格检查结果'" label="部位：" prop="description" class="marT">
              <searchTerm
                v-if="data.type=='体格检查结果'"
                :refbool.sync="klVitalResultVO.partList"
                :id="id"
                :type="122"
              ></searchTerm>
            </el-form-item>
            <el-form-item v-if="data.type=='体格检查结果'" label="不适宜人群：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='体格检查结果'"
                v-model="klVitalResultVO.suitablePopNo"
                :Maincontent="'Maincontent1'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='体格检查结果'" label="操作方法：" prop="description" class="marT">
              <el-input
                v-model.trim="klVitalResultVO.checkMethod"
                maxlength="500"
                placeholder="请输入"
                row="3"
                type="textarea"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='手术和操作'" label="级别分类：" prop="description" class="marT">
              <el-select v-model="klOperationVO.operationLevel" placeholder="请选择">
                <el-option
                  v-for="item in operationLevelList"
                  :key="item.id"
                  :label="item.label"
                  :value="item.id"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item v-if="data.type=='手术和操作'" label="手术操作代码：" prop="description" class="marT">
              <div-editable
                v-if="data.type=='手术和操作'"
                v-model="klOperationVO.operationCode"
                :Maincontent="'Maincontent'"
              ></div-editable>
            </el-form-item>
            <el-form-item v-if="data.type=='中医疾病'" label="编码：" class="marT">
              <el-input
                style="width:300px"
                v-model.trim="klTcmDiseaseVO.code"
                maxlength="200"
                placeholder="请输入"
              ></el-input>
            </el-form-item>
            <el-form-item v-if="data.type=='中医证候'" label="编码：" class="marT">
              <el-input
                style="width:300px"
                v-model.trim="klTcmSyndromeVO.code"
                maxlength="200"
                placeholder="请输入"
              ></el-input>
            </el-form-item>
            <!-- <el-form-item
              v-if="data.type=='症状'"
              label="填写单患者界面展示通俗内容："
              prop="description"
              class="marT description"
            >
              <span class="necess">*</span>
              <el-input v-model.trim="description" maxlength="7" placeholder="请输入填写单患者界面展示通俗内容"></el-input>
            </el-form-item>-->
            <!-- <el-form-item v-if="data.type=='症状'" label="医学教育说明：" prop="explains" class="marT">
              <el-input
                type="textarea"
                v-model.trim="explains"
                maxlength="100"
                style="width: 500px;"
                :rows="4"
              ></el-input>
            </el-form-item>-->
          </el-form>
        </div>
        <div class="btn">
          <el-button type="primary" :disabled="saveDisable" @click="comfirn">确 定</el-button>
        </div>
      </div>
    </div>
  </div>
</template>
<script type="text/javascript">
import DivEditable from './DivEditable';
import searchTerm from './searchTerm';
import api from '@api/knowledgeTree.js';
import pinyin from '../../js/Convert_Pinyin.js';
import utils from '@api/utils.js';
import SimilarListDrag from './SimilarListDrag';
export default {
  name: 'AddMedicalName',
  data() {
    return {
      radio: 1,
      minTitle: '基础术语维护-添加',
      data: {
        libName: '',
        type: '',
        libType: '',
        remark: '',
        isConcept: 1,
        spell: '',
        libId: '',
        isHasCommon: ''
      },
      klOperationVO: {
        conceptId: null,
        remark: null,
        operationLevel: 0, //手术级别
        operationCode: '' //手术操作码
      },
      klVitalResultVO: {
        conceptId: null,
        remark: null,
        deptList: [], //科室
        partList: [], //部位
        suitablePopNo: '', //不适宜人群
        checkMethod: '' //操作方法
      },
      klPacsVO: {
        checkMethod: '', //检查方法
        definition: '', //项目定义
        checkObjective: '', //检查目的
        checkSkillful: '', //检查技术
        condLimit: '', //禁忌症和局限性
        interventional: '', //适应症
        emergencySign: 0, //危急标识（0：不危急，1：危急）
        checkPrepare: '', //检查前准备
        remark: '' //备注
      },
      klLisVO: {
        minValue: null, //最小值
        maxValue: null, //最大值
        unit: '',
        checkSpecimen: '', //检查标本
        checkMethod: '', //检查方法
        influenceFac: '', //影响因素
        clinicalSig: '', //临床意义
        qualitative: '', //定性（阴、阳性）
        category: '', //所属类别
        enName: '', //英文名称
        remark: '', //备注
        type: 1
      },
      klSymptomVO: {
        isPositive: 1,
        enName: '', //英文名称
        definition: '', //定义
        chWestern: '', //中西医症状（0：通用，1：西，2：中）
        mitigatingFac: '', //缓解因素
        aggravateFac: '', //加重因素
        cause: '', //症状起因
        commonDis: '', //常见疾病
        preMeasures: '', //预防措施
        foodProhibition: '', //饮食禁忌
        commonExplain: '', //通俗解释
        remark: '', //备注
        deptList: [], //科室列表
        partList: [], //发病部位
        conSymptomList: [], //常见伴随症状
        natureList: [] //性质
      },
      klDiseaseVO: {
        icd10Code: '', //ICD10编号
        course: '', //病程
        inducement: '', //诱因
        foodProhibition: '', //饮食禁忌
        hazard: '', //危险因素
        healing: '', //治愈性
        pernicious: '', //危害性
        clinicType: '', //临床分类
        vulArea: '', //好发地区
        vulCrowd: '', //好发人群
        incidence: '', //发病率
        isInfect: 0, //是否传染（0：否，1：是）
        complication: '', //并发症
        pathogeny: '', //病因
        disType: '', //疾病分型
        chWestern: '', //中西医疾病（0：通用，1：西，2：中）
        isCommonDis: 1, //是否常见病（0：否，1：是）
        isHeredity: 0, //是否遗传（0：否，1：是）
        nameSimple: '', //简称
        enNameSimple: '', //英文简称
        enName: '', //英文名称
        remark: '', //备注
        tumorCellType: '', //肿瘤细胞类型
        morphology: '', //形态学分类代码
        deptList: [], //科室列表
        partList: [], //部位列表
        systemTypeList: [] //疾病系统分类列表
      },
      klTcmDiseaseVO: {
        code: ''
      },
      klTcmSyndromeVO: {
        code: ''
      },
      operationLevelList: [
        {
          id: '0',
          label: '0'
        },
        {
          id: '1',
          label: '1'
        },
        {
          id: '2',
          label: '2'
        },
        {
          id: '3',
          label: '3'
        },
        {
          id: '4',
          label: '4'
        }
      ],
      typeList: [],
      id: '',
      synonymous: [], //同义词
      singleword: [],
      allwords: [], //标准词和同义词
      colspan: 5,
      colspans: 6,
      currentPage: 1,
      pageSize: 10,
      tmpSynonymous: [],
      sexType: '通用',
      maxAge: 200,
      minAge: 0,
      maxValue: null,
      minValue: null,
      showMore: '',
      sex: [
        {
          name: '通用',
          value: 3
        },
        {
          name: '男',
          value: 1
        },
        {
          name: '女',
          value: 2
        }
      ],
      range: [
        {
          name: '内',
          value: 1
        },
        {
          name: '外',
          value: 2
        }
      ],
      unfit: false, //点确认时是否弹提示,
      saveDisable: false, //保存按钮禁止点击
      options: [],
      copy: null,
      drugTypeList: [
        { val: 0, name: '西药' },
        { val: 1, name: '中成药' }
      ], //药品类型
      drug: '',
      dioTypeList: [], //更多信息-类型
      dioType: '', //默认展示一类
      deptList: [], //更多信息-科室
      deptListArr: [], //科室信息分组
      dept: '', //默认展示全科
      similarList: [], //相似词列表
      searchIndex: -1, //展示哪个的同义词
      searchType: '',
      description: '',
      explains: '',
      composing: false,
      critical: '', //危急标识
      conceptList: []
    };
  },
  created() {
    this.getTypeList();
    const id = this.$route.params.id;
    const libType = this.$route.params.libType;
    const copy = this.$route.params.copy || '';
    this.copy = copy;
    if (id) {
      this.minTitle = copy ? '基础术语维护-复制' : '基础术语维护-修改';
      this.id = id;
      this.colspan = 5;
      this.getDetail(id, libType);
    }
  },
  methods: {
    changeRadio() {
      this.klLisVO.maxValue = null;
      this.klLisVO.minValue = null;
      this.klLisVO.qualitative = '';
      this.klLisVO.unit = '';
    },
    //获取科室
    searchConcept(val) {
      const param = {
        excludedConceptIds: [],
        libType: '115',
        name: val
      };
      api
        .searchConcept(param)
        .then(res => {
          if (res.data.code == '0') {
            const data = res.data.data;
            this.conceptList = data;
          }
        })
        .catch(error => {
          console.log(error);
        });
    },
    clearDataCi() {
      this.data.libType = '';
    },
    dragAdd(ev) {
      utils.dragBox('dragModalWrap', 'dragModalTitle', 'add');
    },
    dragDel() {
      utils.dragBox('dragModalWrap', 'dragModalTitle', 'del');
    },
    closeTable() {
      this.searchType = '';
      this.similarList = [];
    },
    // 诊断类型下--更多信息-类型
    getDioType(flag) {
      api.getknowledgeList().then(res => {
        const data = res.data;
        if (data.code == 0) {
          this.dioTypeList = data.data[2];
          // 修改时无需赋值
          if (!flag) {
            this.dioType = this.dioTypeList[0].val;
          }
        }
      });
    },
    // 诊断类型下--更多信息-科室
    getDdeptList(conptId) {
      api.getDeptList({ type: 1 }).then(res => {
        const data = res.data;
        if (data.code == 0) {
          this.deptList = data.data;
          if (!conptId) {
            this.dept = '全科'; //默认展示全科
          } else {
            // 科室id转成name显示
            this.deptList.map((v, i) => {
              if (v.conceptId == conptId) {
                this.dept = v.name;
              }
            });
          }
          const total = this.deptList.length;
          const average = parseInt(total / 3);
          const mod = total % 3; //余数
          const firstGroup = this.deptList.slice(0, average);
          let secGroup = [];
          let thirdGroup = [];
          let tempArr = [];
          if (mod == 2) {
            secGroup = this.deptList.slice(average, average * 2 + 1);
            thirdGroup = this.deptList.slice(average * 2 + 1, total);
          } else {
            secGroup = this.deptList.slice(average, average * 2);
            thirdGroup = this.deptList.slice(average * 2, total);
          }
          tempArr.push(
            { label: 1, deptList: firstGroup },
            { label: 2, deptList: secGroup },
            { label: 3, deptList: thirdGroup }
          );
          this.deptListArr = tempArr;
        }
      });
    },
    reViewData(data) {
      let tmpObj = [
        {
          isConcept: data.isConcept,
          libName: data.libName,
          remark: data.remark,
          spell: data.spell,
          type: data.typeName,
          conceptId: this.copy ? '' : data.conceptId,
          libId: this.copy ? '' : data.libId,
          isHasCommon: data.isHasCommon,
          synonymName: data.synonymName,
          status: data.status,
          libType: data.libType
        }
      ];
      for (let i = 0; i < data.klConceptSub.length; i++) {
        let tmp = data.klConceptSub[i];
        tmp.name = tmp.synonymName;
        tmp.type = tmp.typeName;
        tmp.libType = tmp.libType;
      }

      data.libName = tmpObj;
      data.otherNames = data.klConceptSub;
      return data;
    },
    getDetail(ids, libType) {
      if (ids) {
        api
          .getBaseConceptAll({ conceptId: ids, libType: libType })
          .then(res => {
            const result = res.data;
            let redata = this.reViewData(result.data);
            if (result.code == 0) {
              this.data = redata.libName[0];
              this.klOperationVO = redata.klOperationDTO
                ? redata.klOperationDTO
                : this.klOperationVO;
              this.klVitalResultVO = redata.klVitalResultDTO
                ? redata.klVitalResultDTO
                : this.klVitalResultVO;
              this.klPacsVO = redata.klPacsDTO
                ? redata.klPacsDTO
                : this.klPacsVO;
              this.klLisVO = redata.klLisDTO ? redata.klLisDTO : this.klLisVO;
              this.klSymptomVO = redata.klSymptomDTO
                ? redata.klSymptomDTO
                : this.klSymptomVO;
              this.klDiseaseVO = redata.klDiseaseDTO
                ? redata.klDiseaseDTO
                : this.klDiseaseVO;
              this.radio = this.klLisVO.qualitative == '' ? 1 : 2;
              this.klTcmDiseaseVO = redata.klTcmDiseaseDTO
                ? redata.klTcmDiseaseDTO
                : this.klTcmDiseaseVO;
              this.klTcmSyndromeVO = redata.klTcmSyndromeDTO
                ? redata.klTcmSyndromeDTO
                : this.klTcmSyndromeVO;

              this.singleword = redata.libName;
              this.synonymous = redata.otherNames;
              this.allwords = redata.libName.concat(redata.otherNames);
              this.showMore = redata.isHasCommon; //是否支持通用扩展
              this.maxAge = redata.maxAge;
              this.minAge = redata.minAge;
              this.maxValue = redata.maxVal;
              this.minValue = redata.minVal;
              this.description = redata.description;
              this.explains = redata.explains;
              this.drug = redata.drug;
              const type = redata.type;

              if (type == '诊断') {
                this.dioType = redata.classify || 'Ⅰ'; //类型，默认展示Ⅰ类
                const deptConptId = redata.deptId;
                this.getDioType(true);
                this.getDdeptList(deptConptId);
              }
              // this.sexType = result.data.sexType;
              let sexType = redata.sexType;
              this.sex.map((v, i) => {
                if (v.value == sexType) {
                  this.sexType = v.name;
                }
              });
            } else {
              this.$message({
                message: result.msg,
                type: 'warning'
              });
            }
          });
      }
    },
    getTypeList() {
      api
        .baseTypeGetPage({ name: '', size: 1000 })
        .then(res => {
          const data = res.data;
          if (data.code == 0) {
            let types = data.data.records;
            this.typeList = types;
            // this.typeList = data.data;
            // 类型改成平铺
            if (types.length > 0) {
              const total = types.length;
              const average = parseInt(total / 3);
              const mod = total % 3; //余数
              const firstGroup = types.slice(0, average);
              let secGroup = [];
              let thirdGroup = [];
              if (mod == 2) {
                secGroup = types.slice(average, average * 2 + 1);
                thirdGroup = types.slice(average * 2 + 1, total);
              } else {
                secGroup = types.slice(average, average * 2);
                thirdGroup = types.slice(average * 2, total);
              }
              this.options.push(
                { label: 1, options: firstGroup },
                { label: 2, options: secGroup },
                { label: 3, options: thirdGroup }
              );
            }
          } else {
            this.$message({
              message: data.msg,
              type: 'warning'
            });
          }
        })
        .catch(error => {
          console.log(error);
        });
    },
    handleBlur(type, index, flg) {
      // 不能为纯数字、纯字符、纯数字加字符 4-18
      // const pattern = /[^~@#$%^&*_\-+=,，.。:："“？?”；;、!！0-9]/g;
      // 需求更改：不能为纯数字，其余均可输入 5-20
      const pattern = /[^0-9]/g;
      if (type == 1) {
        //标准词输入
        if (this.data.libName && !pattern.test(this.data.libName)) {
          this.$message({
            // message:'无法输入纯数字或者纯字符，请输入正确数据！',
            message: '无法输入纯数字，请输入正确数据！',
            type: 'warning'
          });
          // this.data.libName = '';
          this.unfit = true;
        } else {
          let data = this.data;
          data.spell = pinyin.getCamelChars(data.libName);
          this.unfit = false;
          this.searchType = 'standard';
          this.getSimilarList(this.data.libName);
        }
      } else if (type == 2) {
        // 修改时术语名称、拼音和类型均不能修改
        if (flg == 99) {
          // if(this.synonymous[index-1].name && !pattern.test(this.synonymous[index-1].name)){
          if (
            this.allwords[index].libName &&
            !pattern.test(this.allwords[index].libName)
          ) {
            this.$message({
              message: '无法输入纯数字，请输入正确数据！',
              type: 'warning'
            });
            // this.synonymous[index-1].name = '';
            this.unfit = true;
          } else {
            // let current = this.synonymous[index-1];
            let current = this.allwords[index];
            current.spell = pinyin.getCamelChars(current.libName);
            this.unfit = false;
            this.searchType = 'standard';
            this.searchIndex = index;
            this.getSimilarList(this.allwords[index].libName);
          }
        } else {
          if (
            this.synonymous[index].libName &&
            !pattern.test(this.synonymous[index].libName)
          ) {
            this.$message({
              message: '无法输入纯数字，请输入正确数据！',
              type: 'warning'
            });
            // this.synonymous[index].name = '';
            this.unfit = true;
          } else {
            let current = this.synonymous[index];
            current.spell = pinyin.getCamelChars(current.libName);
            this.unfit = false;
            this.searchType = 'similar';
            this.searchIndex = index;
            this.getSimilarList(current.libName);
          }
        }
      }
    },
    handlePinyin(e, flag, index) {
      //只能输入英文
      e.target.value = e.target.value.replace(/[^a-zA-Z]/g, '');
      // 解决输入数字不触发更新
      if (flag == 1) {
        //标准词
        this.data.spell = e.target.value;
      } else if (flag == 2) {
        //同义词-修改
        this.allwords[index].spell = e.target.value;
      } else if (flag == 3) {
        //同义词-新增
        this.synonymous[index].spell = e.target.value;
      }
      // e.target.value = e.target.value.replace(/[^a-zA-Z]/g,'');
    },
    getSimilarList(name) {
      //不知道还有没有用
      return;
      if (!name) {
        this.closeTable();
        return;
      }
      const param = {
        inputStr: name
      };
      api.getSimilarList(param).then(res => {
        this.similarList = res.data.data;
      });
    },
    addSpan(type) {
      let singleSpan = {
        libName: '',
        remark: '',
        isConcept: 0,
        isEdit: true,
        spell: null
      };
      if (type == 55) {
        this.allwords.push(singleSpan);
        this.synonymous.push(singleSpan);
      } else {
        this.synonymous.push(singleSpan);
      }
    },
    warning(msg, type) {
      this.$message({
        showClose: true,
        message: msg,
        type: type || 'warning'
      });
    },
    showConfirmDialog(msg, resolve) {
      this.$alert(msg, '提示', {
        confirmButtonText: '确定',
        type: 'warning'
      })
        .then(() => {
          resolve();
        })
        .catch(() => {});
    },
    deleLine(index, type, item) {
      // 只在界面删除数据，待点确认 后参才真正删除
      if (type == 55) {
        const { libId } = item;
        if (libId) {
          api.clearConceptInfo({ libId }).then(res => {
            const result = res.data;
            if (result.code == 0) {
              this.synonymous.splice(index - 1, 1);
              this.allwords.splice(index, 1);
            }
          });
        } else {
          this.synonymous.splice(index - 1, 1);
          this.allwords.splice(index, 1);
        }
      } else {
        this.synonymous.splice(index, 1);
      }
    },
    // 保存基础术语
    comfirn(flg) {
      console.log(this.synonymous);
      if (!this.data.libName) {
        this.warning('请输入医学标准术语名称');
        return;
      }
      if (!this.data.libType && !this.unfit && !this.data.type) {
        this.warning('请选择术语类型');
        return;
      }
      // 年龄为必填项--2019-6-5需求
      if (this.showMore == 1) {
        if ((!this.minAge && this.minAge !== 0) || !this.maxAge) {
          this.warning('年龄不能为空，区间为0-200');
          return;
        }
        if (
          this.minAge < 0 ||
          this.minAge > 200 ||
          this.maxAge < 0 ||
          this.maxAge > 200
        ) {
          this.warning('年龄必须是0-200');
          return;
        }
        if (this.minAge >= this.maxAge) {
          this.warning('年龄最小值应该小于最大值');
          return;
        }
        if (this.data.type == '实验室检查子项目') {
          if (
            this.minValue < 0 ||
            this.minValue > 99999 ||
            this.maxValue < 0 ||
            this.maxValue > 99999
          ) {
            this.warning('取值范围必须是0-99999切单位不能为空');
            return;
          }
          if (
            this.minValue &&
            this.maxValue &&
            this.minValue >= this.maxValue
          ) {
            this.warning('最小值应该小于最大值');
            return;
          }
        }
      }
      if (
        this.data.type == '药品通用名' &&
        (this.drug === '' || this.drug === null)
      ) {
        this.warning('请选择药品类型');
        return;
      }
      // 过滤同义词空数据
      let realData = [];
      if (this.id) {
        //修改用暂存的列表
        realData = this.synonymous.filter(item => {
          return item.libName;
        });
        let tmpArr = [];
        for (let k = 0; k < realData.length; k++) {
          if (realData[k].isConcept == 1) {
            let tmpdata = JSON.parse(JSON.stringify(this.data));
            tmpArr.push(realData[k]);
            realData.splice(k, 1);
            tmpdata.isConcept = 0;
            realData.push(tmpdata);
            this.data = tmpArr[0];
          }
        }
      } else {
        realData = this.synonymous.filter(item => {
          return item.libName;
        });
      }
      let detailList = [];
      for (let i = 0; i < realData.length; i++) {
        let obj = {};
        realData[i].synonymName = realData[i].libName;
        realData[i].conceptId = undefined;
        realData[i].status = undefined;
        realData[i].libType = this.data.libType;
        if (this.copy) {
          realData[i].libId = undefined;
        }
        // obj.isConcept=realData[i].isConcept
        // obj.remark=realData[i].remark
        // obj.spell=realData[i].spell

        detailList.push(realData[i]);
        // detailList.push(obj);
      }
      // 校验是否有名称全为数字
      const pattern = /[^0-9]/g;
      const tmpData = this.data.libName;
      if (tmpData && !tmpData.match(pattern)) {
        this.$message({
          message: '无法输入纯数字，请输入正确数据！',
          type: 'warning'
        });
        return false;
      }
      for (let d = 0; d < detailList.length; d++) {
        let dname = detailList[d].name;
        // if(detailList[d].name && !pattern.test(detailList[d].name)){
        if (dname && !dname.match(pattern)) {
          if (!this.unfit) {
            //避免和失焦事件同事弹出
            this.$message({
              message: '无法输入纯数字，请输入正确数据！',
              type: 'warning'
            });
          }
          this.unfit = false;
          return false;
          break;
        }
      }
      // if (this.data.type == '症状' && !this.description) {
      //   this.warning('请输入填写单患者界面展示通俗内容');
      //   return;
      // }
      let params,
        sexCode = null;
      this.sex.map((v, i) => {
        if (v.name == this.sexType) {
          sexCode = v.value;
        }
      });
      params =
        this.data.libType == 106
          ? {
              ...this.data,
              klOperationVO: this.klOperationVO,
              klConceptSub: detailList || [],
              sexType: sexCode,
              maxAge: this.maxAge,
              minAge: this.minAge,
              status: this.data.status || 1
            }
          : this.data.libType == 105
          ? {
              ...this.data,
              klVitalResultVO: this.klVitalResultVO,
              klConceptSub: detailList || [],
              sexType: sexCode,
              maxAge: this.maxAge,
              minAge: this.minAge,
              status: this.data.status || 1
            }
          : this.data.libType == 110 || this.data.libType == 109
          ? {
              ...this.data,
              klPacsVO: this.klPacsVO,
              klConceptSub: detailList || [],
              sexType: sexCode,
              maxAge: this.maxAge,
              minAge: this.minAge,
              status: this.data.status || 1
            }
          : this.data.libType == 107
          ? {
              ...this.data,
              klLisVO: this.klLisVO,
              klConceptSub: detailList || [],
              sexType: sexCode,
              maxAge: this.maxAge,
              minAge: this.minAge,
              status: this.data.status || 1
            }
          : this.data.libType == 108
          ? {
              ...this.data,
              klLisVO: this.klLisVO,
              klConceptSub: detailList || [],
              sexType: sexCode,
              maxAge: this.maxAge,
              minAge: this.minAge,
              status: this.data.status || 1
            }
          : this.data.libType == 103
          ? {
              ...this.data,
              klSymptomVO: this.klSymptomVO,
              klConceptSub: detailList || [],
              sexType: sexCode,
              maxAge: this.maxAge,
              minAge: this.minAge,
              status: this.data.status || 1
            }
          : this.data.libType == 100
          ? {
              ...this.data,
              klDiseaseVO: this.klDiseaseVO,
              klConceptSub: detailList || [],
              sexType: sexCode,
              maxAge: this.maxAge,
              minAge: this.minAge,
              status: this.data.status || 1
            }
          : this.data.libType == 127
          ? {
              ...this.data,
              klTcmDiseaseVO: this.klTcmDiseaseVO,
              klConceptSub: detailList || [],
              sexType: sexCode,
              maxAge: this.maxAge,
              minAge: this.minAge,
              status: this.data.status || 1
            }
          : this.data.libType == 128
          ? {
              ...this.data,
              klTcmSyndromeVO: this.klTcmSyndromeVO,
              klConceptSub: detailList || [],
              sexType: sexCode,
              maxAge: this.maxAge,
              minAge: this.minAge,
              status: this.data.status || 1
            }
          : {
              ...this.data,
              klConceptSub: detailList || [],
              status: this.data.status || 1,
              sexType: sexCode,
              maxAge: this.maxAge,
              minAge: this.minAge
            };
      console.log(params);
      // return false
      this.saveDisable = true; //提交保存按钮不可点击，返回结果时才可点击，防止频繁发送请求
      api.saveBaseConceptInfo(params).then(res => {
        const result = res.data;
        if (result.code == 0) {
          this.warning(res.data.msg || '操作成功', 'success');
          //返回带搜索条件的首页
          this.$router.push({
            name: 'BasicTermsMaintenance',
            params: Object.assign({}, this.$route.params, { currentPage: 1 })
          });
        } else {
          this.warning(res.data.msg);
        }
        this.saveDisable = false;
      });
    },
    inputAge() {
      // console.log("输入年龄")
    },
    selectType(e) {
      this.typeList.map((v, i) => {
        if (v.name == e) {
          console.log(v.code);
          this.showMore = v.isHasCommon;
          this.data.libType = v.code;
          this.data.isHasCommon = v.isHasCommon;
          this.conceptList = [];
        }
      });
      if (e == '诊断') {
        this.getDioType();
        this.getDdeptList();
      } else {
        this.dioType = '';
        this.dept = '';
      }
    }
  },
  components: {
    SimilarListDrag,
    DivEditable,
    searchTerm
  }
};
</script>
<style lang="less" scoped>
@import '../../less/admin.less';
table,
tr,
td {
  list-style: none;
}
/deep/ .radioWrap .el-radio {
  display: block;
  height: 41px;
  line-height: 41px;
  text-align: right;
  margin-left: 0;
}
/deep/ .moreInfo .el-form-item .el-form-item__label {
  width: 85px;
  text-align: left;
}
.txt {
  /deep/.el-textarea__inner {
    min-height: 40px;
    max-height: 73px;
  }
}

// 饿了么分组下拉
el-select-dropdown {
  .el-scrollbar {
    /deep/.el-scrollbar__view {
      display: flex !important;
      max-width: 100% !important;
      /deep/.el-select-group__wrap {
        min-width: 160px !important;
        display: inline-block !important;
        vertical-align: top !important;
      }
    }
  }
}

.range {
  margin-top: 20px;
}
.el-select-group__wrap::after {
  background: #fff !important;
}
.displayColor {
  color: #ccc;
  cursor: not-allowed;
}
.delete {
  cursor: pointer;
}
.content {
  background: #fff;
  padding: 20px 20px 30px;
  color: #545455;
}
.titl {
  margin: 25px 0 10px;
}
.deptbox {
  // width: 100%;
  background: #fff;
  padding: 20px 10px 30px;
  font-size: 14px;
  text-align: left;
  border-collapse: collapse;
  > tr {
    height: 30px;
    text-align: center;
    td {
      width: 135px;
      border: 1px solid #666;
      padding: 5px;
      position: relative;
    }
    input {
      border: none;
      border: 1px solid #ccc;
      width: 100%;
      height: 30px;
      padding: 0 7px;
      box-sizing: border-box;
      border-radius: 4px;
    }
    .ind {
      width: 55px;
    }
    .desc {
      width: 280px;
    }
    .descs {
      width: 50px;
    }
  }
  .addSpan {
    text-align: center;
    cursor: pointer;
  }
}
.deptboxTable {
  width: 100%;
}
.deptboxChange {
  padding-right: 210px;
  position: relative;
}
.actionDo {
  width: 200px;
  position: absolute;
  top: 1px;
  right: 0;
  .btnWrap {
    height: 30px;
  }
}
.btn {
  text-align: right;
  margin-top: 20px;
  margin-bottom: 20px;
}
.necess {
  display: inline-block;
  vertical-align: middle;
  color: red;
  margin-left: 2px;
}
.moreInfo {
  border-top: 1px solid #c0c4cc;
  margin-top: 45px;
  p {
    margin: 15px 0;
  }
}
.spell {
  text-align: center;
}
/deep/.ages {
  margin-top: 20px;
  position: relative;
  .el-input {
    display: inline-block;
    width: auto;
    .el-input__inner {
      width: 80px;
      padding: 0 5px;
      text-align: center;
    }
    .el-input__inner::-webkit-outer-spin-button,
    .el-input__inner::-webkit-inner-spin-button {
      -webkit-appearance: none;
    }
    .el-input__inner[type='number'] {
      -moz-appearance: textfield;
    }
  }
  .ageLine {
    display: inline-block;
    margin: 0 35px;
  }
  .inp {
    margin-left: 20px;
  }
}
/deep/ .marT {
  margin-top: 20px;
}
/deep/.description {
  position: relative;
  .necess {
    position: absolute;
    left: -158px;
    z-index: 2;
  }
  .el-input__inner {
    width: 200px;
    height: 40px;
    line-height: 40px;
    //  text-align: center;
  }
}
</style>