|
@@ -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;
|
|
|
}
|