|
|
@@ -68,7 +68,7 @@
|
|
|
<span></span>
|
|
|
<div>中医诊断</div>
|
|
|
<!-- inferRecipe(2) -->
|
|
|
- <el-button size="mini" type="warning" @click="tcmClick()" style="margin-left:10px;">推导</el-button>
|
|
|
+ <el-button size="mini" type="warning" @click="deduceHandle()" style="margin-left:10px;">推导</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- <TCMDiagnosis v-if="Object.keys(patiensMsg).length>0" :patiensMsg="patiensMsg" ref="TCM"></TCMDiagnosis> -->
|
|
|
@@ -228,7 +228,7 @@
|
|
|
></TCMDiagnosis>
|
|
|
<!-- 推导按钮 -->
|
|
|
<div class="deduce">
|
|
|
- <el-button size="mini" type="primary" @click="tcmClick()">推导</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="deduceHandle()">推导</el-button>
|
|
|
|
|
|
<el-popover
|
|
|
placement="top-start"
|
|
|
@@ -285,12 +285,18 @@
|
|
|
</div>
|
|
|
<div class="flex-vertical-between center-header">
|
|
|
<div class="center-tab flex-vertical-center-l">
|
|
|
- <template v-for="(item,index) in contentTabs">
|
|
|
- <div v-if="!item.hide" :key="item.id" class="flex-center" :class="{active: container_i === index}"
|
|
|
- @click="changeContainer(item, index)">
|
|
|
- <span :style="{color:item.color}">{{ item.name }}</span>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
+ <div v-for="(category, index) in categories" :key="category.type"
|
|
|
+ class="category-tab" :class="{ active: category.type === selected.type }"
|
|
|
+ @click="selectCategory({index})"
|
|
|
+ >
|
|
|
+ <span :class="{ highlight: category.prescriptions.length }">{{ category.name }}</span>
|
|
|
+ </div>
|
|
|
+ <!-- <template v-for="(item,index) in contentTabs">
|
|
|
+ <div v-if="!item.hide" :key="item.id" class="flex-center" :class="{active: container_i === index}"
|
|
|
+ @click="changeContainer(item, index)">
|
|
|
+ <span :style="{color:item.color}">{{ item.name }}</span>
|
|
|
+ </div>
|
|
|
+ </template>-->
|
|
|
</div>
|
|
|
<div class="header-total flex-vertical-center-r flex-wrap" v-if="false">
|
|
|
<div v-if="contentTabs[0].check">
|
|
|
@@ -383,24 +389,43 @@
|
|
|
|
|
|
<!-- 表格数据展示 -->
|
|
|
<div class="center-table">
|
|
|
- <chinese-medicine
|
|
|
- @find="findDrug($event)"
|
|
|
- v-show="container_i===0"
|
|
|
- id="chineseM"
|
|
|
- ref="chineseM"
|
|
|
- :totalAllMoney.sync="chineseM.allMoney"
|
|
|
- @submit="submitRecipe1()"
|
|
|
- @clear="clearContainer('0')"
|
|
|
- :showSubmit="showSubmit"
|
|
|
- :isShrink="isShrink"
|
|
|
- :isDaiJian="Number(isDaiJian)"
|
|
|
- :isPs="isPs"
|
|
|
- @updateDp="onUpdateDp"
|
|
|
- ></chinese-medicine>
|
|
|
+ <template v-for="category in categories">
|
|
|
+ <category1 ref="category1" :key="category.type"
|
|
|
+ v-if="category.type === '1'"
|
|
|
+ v-show="category.type === selected.type"
|
|
|
+ :category="category" :is-shrink="isShrink"
|
|
|
+ />
|
|
|
+ <category2 ref="category2" :key="category.type"
|
|
|
+ v-if="category.type === '2'"
|
|
|
+ v-show="category.type === selected.type"
|
|
|
+ :category="category" :is-shrink="isShrink"
|
|
|
+ />
|
|
|
+ <category3 ref="category3" :key="category.type"
|
|
|
+ v-if="category.type === '3'"
|
|
|
+ v-show="category.type === selected.type"
|
|
|
+ :category="category" :is-shrink="isShrink"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- <chinese-medicine
|
|
|
+ @find="findDrug($event)"
|
|
|
+ v-show="false"
|
|
|
+ id="chineseM"
|
|
|
+ ref="chineseM"
|
|
|
+ :totalAllMoney.sync="chineseM.allMoney"
|
|
|
+ @submit="submitRecipe1()"
|
|
|
+ @clear="clearContainer('0')"
|
|
|
+ :showSubmit="showSubmit"
|
|
|
+ :isShrink="isShrink"
|
|
|
+ :isDaiJian="Number(isDaiJian)"
|
|
|
+ :isPs="isPs"
|
|
|
+ @updateDp="onUpdateDp"
|
|
|
+ ></chinese-medicine>-->
|
|
|
|
|
|
<medicineChinese
|
|
|
@find="findDrug($event)"
|
|
|
- v-show="container_i==1"
|
|
|
+ v-show="false"
|
|
|
ref="medicineC"
|
|
|
id="medicineC"
|
|
|
@submit="submitRecipe1()"
|
|
|
@@ -411,7 +436,7 @@
|
|
|
></medicineChinese>
|
|
|
<suitScience
|
|
|
@find="find($event)"
|
|
|
- v-show="container_i==2"
|
|
|
+ v-show="false"
|
|
|
ref="suitScience"
|
|
|
id="suitScience"
|
|
|
@submit="submitRecipe1()"
|
|
|
@@ -422,7 +447,10 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div class="pre-right" v-show="container_i!=1 && !isShrink">
|
|
|
+
|
|
|
+ <div v-show="!isShrink" class="pre-right-container"></div>
|
|
|
+
|
|
|
+ <div class="pre-right" v-show="false">
|
|
|
<!-- 标题信息 -->
|
|
|
<div class="pre-title flex-vertical-between">
|
|
|
<div class="flex-vertical-center-l title-container">
|
|
|
@@ -433,7 +461,7 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- 推荐方剂 -->
|
|
|
- <div class="recommend flex-center" v-if="rRecomendR.length>0">
|
|
|
+ <div class="recommend flex-center" v-if="selected.prescriptions.length">
|
|
|
<!-- <div class="arrow-left flex-center" @click="changeRbanner('reduce')">
|
|
|
<img src="../../assets/arrow-left.png" alt="">
|
|
|
</div>-->
|
|
|
@@ -444,19 +472,14 @@
|
|
|
<div class="r-banner-body">
|
|
|
<div
|
|
|
class="r-body-item flex-vertical-between"
|
|
|
- v-for="(item1,index1) in rRecomendR"
|
|
|
- :key="'c'+index1"
|
|
|
+ v-for="item1 in selected.prescriptions" :key="item1.id"
|
|
|
>
|
|
|
<div class="med-name med-name-bg"
|
|
|
:class="{active: tjRecipeId && (tjRecipeId==item1.preid ||tjRecipeId==item1.pid || tjRecipeId==item1.acupreid)}"
|
|
|
- v-if="item1.showType==0"
|
|
|
- @click.stop="getPreDetal(item1.preid || item1,1)"
|
|
|
+ v-if="true"
|
|
|
+ @click.stop="deducePrescriptionHandle(item1)"
|
|
|
>
|
|
|
- <span v-if="item1.prename">{{item1.prename}}</span>
|
|
|
- <span
|
|
|
- v-else
|
|
|
- >{{item1.acupretype==1?'针灸':item1.acupretype==2?'艾灸':item1.acupretype==3?'推拿':'拔罐'}}</span>
|
|
|
- <!-- {{item1.prename?item1.prename+'('+item1.book?item1.book:'暂无'+')': item1.acupretype==1?'针灸':item1.acupretype==2?'艾灸':item1.acupretype==3?'推拿':'拔罐'}} -->
|
|
|
+ <span>{{ item1.name }}</span>
|
|
|
</div>
|
|
|
<!-- 经验方 -->
|
|
|
<div class="med-name med-name-bg"
|
|
|
@@ -468,128 +491,129 @@
|
|
|
<span>{{item1.name}}({{item1.experttitle}})</span>
|
|
|
</div>
|
|
|
|
|
|
- <!-- <div class="med-btns flex-vertical-center-r"> -->
|
|
|
- <!-- 专家经验换方 -->
|
|
|
- <!-- <div class="flex-center" v-if="item1.showType==1" @click.self.stop="turnRecipe3(item1)">换方</div>
|
|
|
- <div class="flex-center bg-yellow" v-if="item1.showType==1" @click.self.stop="joinRecipe3(item1)">合方
|
|
|
- </div>
|
|
|
+ <!– <div class="med-btns flex-vertical-center-r"> –>
|
|
|
+ <!– 专家经验换方 –>
|
|
|
+ <!– <div class="flex-center" v-if="item1.showType==1" @click.self.stop="turnRecipe3(item1)">换方</div>
|
|
|
+ <div class="flex-center bg-yellow" v-if="item1.showType==1" @click.self.stop="joinRecipe3(item1)">合方
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="flex-center" v-if="item1.showType==0"
|
|
|
- @click.self.stop="inferChange(item1,item1.prename?'':1,item1.prename?'':1)">换方</div>
|
|
|
- <div class="bg-yellow flex-center" v-if="item1.showType==0"
|
|
|
- @click.self.stop="inferChange1(item1,item1.prename?'':1,item1.prename?'':1)">合方
|
|
|
- </div>-->
|
|
|
- <!-- </div> -->
|
|
|
+ <div class="flex-center" v-if="item1.showType==0"
|
|
|
+ @click.self.stop="inferChange(item1,item1.prename?'':1,item1.prename?'':1)">换方</div>
|
|
|
+ <div class="bg-yellow flex-center" v-if="item1.showType==0"
|
|
|
+ @click.self.stop="inferChange1(item1,item1.prename?'':1,item1.prename?'':1)">合方
|
|
|
+ </div>–>
|
|
|
+ <!– </div> –>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!– </el-carousel-item> –>
|
|
|
+ <!– </el-carousel> –>
|
|
|
</div>
|
|
|
+ <!– <div class="arrow-left flex-center" @click="changeRbanner('add')">
|
|
|
+ <img src="../../assets/arrow-right.png" alt="">
|
|
|
+ </div>–>
|
|
|
</div>
|
|
|
- <!-- </el-carousel-item> -->
|
|
|
- <!-- </el-carousel> -->
|
|
|
- </div>
|
|
|
- <!-- <div class="arrow-left flex-center" @click="changeRbanner('add')">
|
|
|
- <img src="../../assets/arrow-right.png" alt="">
|
|
|
- </div>-->
|
|
|
- </div>
|
|
|
|
|
|
- <!-- 安全合理用药检测 -->
|
|
|
- <div class="pre-title mr-t10" v-if="container_i!=2">
|
|
|
- <div class="flex-vertical-center-l title-container">
|
|
|
- <span></span>
|
|
|
- <div>安全合理用药检测</div>
|
|
|
- </div>
|
|
|
- <div class="patiens-msg mr-t10" v-if="rationalMed.length>0">
|
|
|
- <div class="p" v-if="raDoseShow">
|
|
|
- <!-- {{item.matname}}({{item.matbzjj}}) -->
|
|
|
- <!-- <div class="patiens-name">{{item.matname}}</div> -->
|
|
|
- <div class="patiens-cate">超剂量药品:</div>
|
|
|
- <div class="patiens-desc" v-for="(item,index) in rationalMed10" :key="index">
|
|
|
- <span v-if="item.showDose">
|
|
|
- <span class="matname">{{item.matname}}</span>
|
|
|
- <span style="color:red;">({{item.matmindosage}}-{{item.matmaxdosage}})</span>
|
|
|
- </span>
|
|
|
+ <div id="test"></div>
|
|
|
+ <!– 安全合理用药检测 –>
|
|
|
+ <div class="pre-title mr-t10" v-if="container_i!=2">
|
|
|
+ <div class="flex-vertical-center-l title-container">
|
|
|
+ <span></span>
|
|
|
+ <div>安全合理用药检测</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ <div class="patiens-msg mr-t10" v-if="rationalMed.length>0">
|
|
|
+ <div class="p" v-if="raDoseShow">
|
|
|
+ <!– {{item.matname}}({{item.matbzjj}}) –>
|
|
|
+ <!– <div class="patiens-name">{{item.matname}}</div> –>
|
|
|
+ <div class="patiens-cate">超剂量药品:</div>
|
|
|
+ <div class="patiens-desc" v-for="(item,index) in rationalMed10" :key="index">
|
|
|
+ <span v-if="item.showDose">
|
|
|
+ <span class="matname">{{item.matname}}</span>
|
|
|
+ <span style="color:red;">({{item.matmindosage}}-{{item.matmaxdosage}})</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="p" v-if="rationalMed2.length>0">
|
|
|
- <div class="patiens-cate">慎忌禁用药:</div>
|
|
|
- <div class="patiens-desc" v-for="(item,index) in rationalMed2" :key="index">
|
|
|
- <span v-if="item.matsjj">
|
|
|
- <span class="matname">{{item.matname}}</span>
|
|
|
- ({{item.matsjj |ftsjj}})
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="p" v-if="rationalMed2.length>0">
|
|
|
+ <div class="patiens-cate">慎忌禁用药:</div>
|
|
|
+ <div class="patiens-desc" v-for="(item,index) in rationalMed2" :key="index">
|
|
|
+ <span v-if="item.matsjj">
|
|
|
+ <span class="matname">{{item.matname}}</span>
|
|
|
+ ({{item.matsjj |ftsjj}})
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="p" v-if="rationalMed3.length>0">
|
|
|
- <div class="patiens-cate">孕妇慎忌禁:</div>
|
|
|
- <div class="patiens-desc" v-for="(item,index) in rationalMed3" :key="index">
|
|
|
- <span v-if="item.matyfsjj">
|
|
|
- <span class="matname">{{item.matname}}</span>
|
|
|
- <span :style="{color:item.matyfsj==3?'red':''}">({{item.matyfsjj |fyfsjj}})</span>
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="p" v-if="rationalMed3.length>0">
|
|
|
+ <div class="patiens-cate">孕妇慎忌禁:</div>
|
|
|
+ <div class="patiens-desc" v-for="(item,index) in rationalMed3" :key="index">
|
|
|
+ <span v-if="item.matyfsjj">
|
|
|
+ <span class="matname">{{item.matname}}</span>
|
|
|
+ <span :style="{color:item.matyfsj==3?'red':''}">({{item.matyfsjj |fyfsjj}})</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="p" v-if="rationalMed4.length>0">
|
|
|
- <div class="patiens-cate">服药饮食禁忌:</div>
|
|
|
- <div class="patiens-desc" v-for="(item,index) in rationalMed4" :key="index">
|
|
|
- <span v-if="item.matysjj">
|
|
|
- <span class="matname">{{item.matname}}</span>
|
|
|
- ({{item.matysjj?item.matysjj:'无'}})
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="p" v-if="rationalMed4.length>0">
|
|
|
+ <div class="patiens-cate">服药饮食禁忌:</div>
|
|
|
+ <div class="patiens-desc" v-for="(item,index) in rationalMed4" :key="index">
|
|
|
+ <span v-if="item.matysjj">
|
|
|
+ <span class="matname">{{item.matname}}</span>
|
|
|
+ ({{item.matysjj?item.matysjj:'无'}})
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="p" v-if="rationalMed5.length>0">
|
|
|
- <div class="patiens-cate">药物毒性说明:</div>
|
|
|
- <div class="patiens-desc" v-for="(item,index) in rationalMed5" :key="index">
|
|
|
- <span v-if="item.matdxsm">
|
|
|
- <span class="matname" style="color:red;">{{item.matname}}</span>
|
|
|
- ({{item.matdxsm?item.matdxsm:'无'}})
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="p" v-if="rationalMed5.length>0">
|
|
|
+ <div class="patiens-cate">药物毒性说明:</div>
|
|
|
+ <div class="patiens-desc" v-for="(item,index) in rationalMed5" :key="index">
|
|
|
+ <span v-if="item.matdxsm">
|
|
|
+ <span class="matname" style="color:red;">{{item.matname}}</span>
|
|
|
+ ({{item.matdxsm?item.matdxsm:'无'}})
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="p" v-if="rationalMed6.length>0">
|
|
|
- <div class="patiens-cate">病证用药禁忌:</div>
|
|
|
- <div class="patiens-desc" v-for="(item,index) in rationalMed6" :key="index">
|
|
|
- <span v-if="item.matbzjj">
|
|
|
- <span class="matname">{{item.matname}}</span>
|
|
|
- ({{item.matbzjj?item.matbzjj:'无'}})
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="p" v-if="rationalMed6.length>0">
|
|
|
+ <div class="patiens-cate">病证用药禁忌:</div>
|
|
|
+ <div class="patiens-desc" v-for="(item,index) in rationalMed6" :key="index">
|
|
|
+ <span v-if="item.matbzjj">
|
|
|
+ <span class="matname">{{item.matname}}</span>
|
|
|
+ ({{item.matbzjj?item.matbzjj:'无'}})
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="p" v-if="rationalMed7.length>0">
|
|
|
- <div class="patiens-cate">十八反:</div>
|
|
|
- <div class="patiens-desc" v-for="(item,index) in rationalMed7" :key="index">
|
|
|
- <!-- <span v-if='item.matsbf'>{{fsbf(item.matsbf,item.matname)}}</span> -->
|
|
|
- <span v-if="item.matsbf">
|
|
|
- <span style="color:red;">{{item.matname}}</span>
|
|
|
- 反{{item.matsbf}}
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="p" v-if="rationalMed7.length>0">
|
|
|
+ <div class="patiens-cate">十八反:</div>
|
|
|
+ <div class="patiens-desc" v-for="(item,index) in rationalMed7" :key="index">
|
|
|
+ <!– <span v-if='item.matsbf'>{{fsbf(item.matsbf,item.matname)}}</span> –>
|
|
|
+ <span v-if="item.matsbf">
|
|
|
+ <span style="color:red;">{{item.matname}}</span>
|
|
|
+ 反{{item.matsbf}}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="p" v-if="rationalMed8.length>0">
|
|
|
- <div class="patiens-cate">十九畏:</div>
|
|
|
- <div class="patiens-desc" v-for="(item,index) in rationalMed8" :key="index">
|
|
|
- <!-- <span v-if="item.matsjw">{{fsjw(item.matsjw,item.matname)}}</span> -->
|
|
|
- <span v-if="item.matsjw">
|
|
|
- <span style="color:red;">{{item.matname}}</span>
|
|
|
- 畏{{item.matsjw}}
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="p" v-if="rationalMed8.length>0">
|
|
|
+ <div class="patiens-cate">十九畏:</div>
|
|
|
+ <div class="patiens-desc" v-for="(item,index) in rationalMed8" :key="index">
|
|
|
+ <!– <span v-if="item.matsjw">{{fsjw(item.matsjw,item.matname)}}</span> –>
|
|
|
+ <span v-if="item.matsjw">
|
|
|
+ <span style="color:red;">{{item.matname}}</span>
|
|
|
+ 畏{{item.matsjw}}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="p" v-if="rationalMed9.length>0">
|
|
|
- <div class="patiens-cate">用药不宜:</div>
|
|
|
- <div class="patiens-desc" v-for="(item,index) in rationalMed9" :key="index">
|
|
|
- <span v-if="item.matby">{{fmatby(item.matby,item.matname) }}</span>
|
|
|
+ <div class="p" v-if="rationalMed9.length>0">
|
|
|
+ <div class="patiens-cate">用药不宜:</div>
|
|
|
+ <div class="patiens-desc" v-for="(item,index) in rationalMed9" :key="index">
|
|
|
+ <span v-if="item.matby">{{fmatby(item.matby,item.matname) }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
|
|
|
<!-- 方剂详情 -->
|
|
|
<Popup
|
|
|
@@ -1128,62 +1152,62 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import Popup from "@/components/Propup.vue";
|
|
|
+import Popup from '@/components/Propup.vue';
|
|
|
|
|
|
-import chineseMedicine from "@/components/ChineseMedicine.vue";
|
|
|
-import medicineChinese from "@/components/MedicineAndChina.vue";
|
|
|
-import suitScience from "@/components/SuitScience.vue";
|
|
|
+import chineseMedicine from '@/components/ChineseMedicine.vue';
|
|
|
+import medicineChinese from '@/components/MedicineAndChina.vue';
|
|
|
+import suitScience from '@/components/SuitScience.vue';
|
|
|
|
|
|
-import submitRecipe from "./components/submitRecipe.vue";
|
|
|
+import submitRecipe from './components/submitRecipe.vue';
|
|
|
// import TCMDiagnosis from "./components/TCMDiagnosis.vue";
|
|
|
-import TCMDiagnosis from "../../components/TCMDiagnosis.vue";
|
|
|
-import doctorCase from "./components/doctorCase.vue";
|
|
|
-import prescription from "./components/prescription.vue";
|
|
|
-import UnifyPrescription from "./components/prescription-unify.vue";
|
|
|
-import TongueAnalysis from "./components/tongue-analysis.vue";
|
|
|
-import safeDrug from "./components/safeDrug.vue";
|
|
|
-import medAdress from "./components/medAddress.vue";
|
|
|
-import medAdressNew from "./components/medAddressNew.vue";
|
|
|
+import TCMDiagnosis from '../../components/TCMDiagnosis.vue';
|
|
|
+import doctorCase from './components/doctorCase.vue';
|
|
|
+import prescription from './components/prescription.vue';
|
|
|
+import UnifyPrescription from './components/prescription-unify.vue';
|
|
|
+import TongueAnalysis from './components/tongue-analysis.vue';
|
|
|
+import safeDrug from './components/safeDrug.vue';
|
|
|
+import medAdress from './components/medAddress.vue';
|
|
|
+import medAdressNew from './components/medAddressNew.vue';
|
|
|
import {
|
|
|
- getPatiensBasisM,
|
|
|
- getTongueAndFaceAnalysisRecords,
|
|
|
- addRecipe,
|
|
|
- getRecipeShowData,
|
|
|
- getRecipeDataByid,
|
|
|
- getAgreeRecipe,
|
|
|
- getSeeDByID,
|
|
|
- getDrugDetail,
|
|
|
- getAccordDetail,
|
|
|
changeBasisPre,
|
|
|
- updateRecipe,
|
|
|
changeExpre,
|
|
|
- recipeIsPay,
|
|
|
+ getAccordDetail,
|
|
|
+ getAgreeRecipe,
|
|
|
+ getDrugDetail,
|
|
|
+ getPatiensBasisM,
|
|
|
getPreNumber,
|
|
|
+ getRecipeDataByid,
|
|
|
getRecipePriview,
|
|
|
- getMaxMinDoaseNumber
|
|
|
-} from "@/api/diagnosis.js";
|
|
|
-import { numberToUpperCase } from "@/utils/format.js";
|
|
|
-import { addRecipeFrom } from "@/api/dataAnalysis.js";
|
|
|
+ getRecipeShowData,
|
|
|
+ getSeeDByID,
|
|
|
+ getTongueAndFaceAnalysisRecords,
|
|
|
+ recipeIsPay,
|
|
|
+} from '@/api/diagnosis.js';
|
|
|
+import {numberToUpperCase} from '@/utils/format.js';
|
|
|
+import {addRecipeFrom} from '@/api/dataAnalysis.js';
|
|
|
import {
|
|
|
- getPrescriptionsList,
|
|
|
+ changeAndJoin,
|
|
|
+ getAcupointD,
|
|
|
+ getDCaseDetail,
|
|
|
getDoctorCaseL,
|
|
|
+ getMedDetail,
|
|
|
+ getPreDetal,
|
|
|
+ getPrescriptionsList,
|
|
|
getRationalMed,
|
|
|
getRationalMedForPlat,
|
|
|
inferRecipe,
|
|
|
- getDCaseDetail,
|
|
|
- changeAndJoin,
|
|
|
- getPreDetal,
|
|
|
- getAcupointD,
|
|
|
- getMedDetail
|
|
|
-} from "@/api/knowledge.js";
|
|
|
+} from '@/api/knowledge.js';
|
|
|
|
|
|
-import { mapState, mapGetters, mapActions, mapMutations } from "vuex";
|
|
|
-import { getExperinceDetail } from "@/api/business.js";
|
|
|
-import { setTimeout } from "timers";
|
|
|
-import prescribing from "../../utils/minix/prescribing";
|
|
|
+import {mapActions, mapGetters, mapMutations, mapState} from 'vuex';
|
|
|
+import {getExperinceDetail} from '@/api/business.js';
|
|
|
+import {setTimeout} from 'timers';
|
|
|
+import prescribing from '../../utils/minix/prescribing';
|
|
|
|
|
|
-import {formatPicture} from "@/utils/picture";
|
|
|
+import {formatPicture} from '@/utils/picture';
|
|
|
import {CC_Dosage2Basis} from '@/utils/medicine';
|
|
|
+import {deducePrescriptionByMethod} from '@/api/prescription';
|
|
|
+import {getHerbalMedicineModel} from '@/model/prescription.model';
|
|
|
+import randomUUID from '@/utils/uuid';
|
|
|
|
|
|
export default {
|
|
|
mixins: [prescribing],
|
|
|
@@ -1192,6 +1216,9 @@ export default {
|
|
|
chineseMedicine,
|
|
|
medicineChinese,
|
|
|
suitScience,
|
|
|
+ category1: chineseMedicine,
|
|
|
+ category2: medicineChinese,
|
|
|
+ category3: suitScience,
|
|
|
TCMDiagnosis,
|
|
|
submitRecipe,
|
|
|
prescription,
|
|
|
@@ -1312,7 +1339,7 @@ export default {
|
|
|
// 右侧推荐方剂
|
|
|
rRecomendR: [],
|
|
|
// 中间顶部tab
|
|
|
- container_i: 0,
|
|
|
+ container_i: -1,
|
|
|
/* 下列顺便不能轻易变动 */
|
|
|
contentTabs: [
|
|
|
{
|
|
|
@@ -1375,6 +1402,7 @@ export default {
|
|
|
created() {
|
|
|
try {
|
|
|
const tabs = this.getuserinfo.ableprescription.split(',');
|
|
|
+ console.log(tabs, 'log:tabs');
|
|
|
for (const id of tabs) try { this.contentTabs.find(item => item.id === id).hide = false; } catch (e) {}
|
|
|
} catch (e) {
|
|
|
|
|
|
@@ -1412,6 +1440,8 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ ...mapMutations('session', ['selectCategory']),
|
|
|
+ ...mapActions('session', ['deduce']),
|
|
|
// 处理路由参数
|
|
|
async _processRouteQuery() {
|
|
|
const query = this.$route.query || {};
|
|
|
@@ -1449,6 +1479,45 @@ export default {
|
|
|
else if (this.getEditPreNo()) await this.getRecipeDataByid(this.getEditPreNo());
|
|
|
}
|
|
|
},
|
|
|
+ /**
|
|
|
+ * 推导治疗方案
|
|
|
+ */
|
|
|
+ async deduceHandle() {
|
|
|
+ const hide = this.showLoading(`正在获取推荐数据`);
|
|
|
+ try {
|
|
|
+ const data = await this.deduce();
|
|
|
+ console.log('log:', this.selected);
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e);
|
|
|
+ if (typeof e === 'string') this.$message.warning(e);
|
|
|
+ else this.$message.error(e.message);
|
|
|
+ }
|
|
|
+ hide();
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 推导处方
|
|
|
+ * @return {Promise<void>}
|
|
|
+ */
|
|
|
+ async deducePrescriptionHandle(prescription, append = false) {
|
|
|
+ prescription = await deducePrescriptionByMethod(prescription);
|
|
|
+ prescription.items = prescription.items.map(item => getHerbalMedicineModel(item, { $uid: randomUUID()}));
|
|
|
+ switch (prescription.type) {
|
|
|
+ case '1':
|
|
|
+ return this.$refs.category1[0].setPrescription(prescription, append);
|
|
|
+ case '2':
|
|
|
+ return this.$refs.category2[0].setPrescription(prescription, append);
|
|
|
+ case '3':
|
|
|
+ return this.$refs.category3[0].setPrescription(prescription, append);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ showLoading(text) {
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true, text,
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)',
|
|
|
+ });
|
|
|
+ return () => loading.close();
|
|
|
+ },
|
|
|
|
|
|
// 中医诊断推导点击
|
|
|
tcmClick(isauto = true) {
|
|
|
@@ -1475,18 +1544,18 @@ export default {
|
|
|
this.rDoctorCase.loadMore = true;
|
|
|
this.getDoctorCaseL();
|
|
|
// --end
|
|
|
- const current = this.contentTabs[this.container_i];
|
|
|
+ const current = this.categories[0];
|
|
|
if (!current) return;
|
|
|
|
|
|
if (isauto && current.id !== '1') {
|
|
|
- this.inferRecipe(2, current.businesstype);
|
|
|
+ this.inferRecipe(2, current.type);
|
|
|
}
|
|
|
|
|
|
setTimeout(() => {
|
|
|
- for (const tab of this.contentTabs) {
|
|
|
+ for (const tab of this.categories) {
|
|
|
if (tab.hide) continue;
|
|
|
const type = tab.id === '1' && tab.id === current.id ? 3 : 4;
|
|
|
- this.inferRecipe(type, tab.businesstype).then(() => {
|
|
|
+ this.inferRecipe(type, tab.type).then(() => {
|
|
|
if (tab.id === current.id ) {
|
|
|
if (current.id === '0') this.isTuiDaoZy = true
|
|
|
else if (current.id === '1') this.isTuiDaoZj = true
|
|
|
@@ -4421,7 +4490,10 @@ export default {
|
|
|
this.showDrug = true;
|
|
|
}
|
|
|
},
|
|
|
- // 获取方剂详情
|
|
|
+ /**
|
|
|
+ * 获取方剂详情
|
|
|
+ * @deprecated {@link deducePrescriptionHandle}
|
|
|
+ */
|
|
|
async getPreDetal(id, type = "") {
|
|
|
if (id instanceof Object) {
|
|
|
// 适宜技术处方
|
|
|
@@ -4548,6 +4620,10 @@ export default {
|
|
|
: 0
|
|
|
).toFixed(2);
|
|
|
},
|
|
|
+ ...mapState('session', {
|
|
|
+ categories: state => state.categories,
|
|
|
+ }),
|
|
|
+ ...mapGetters('session', ['selected']),
|
|
|
...mapGetters(["getPatiensInfo", "getuserinfo", "getDrugInfo", "getRecipeId", "getIsSee", "getPreNo"])
|
|
|
},
|
|
|
filters: {
|
|
|
@@ -4858,11 +4934,20 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ .category-tab {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
.active {
|
|
|
background: #5386f6;
|
|
|
color: #fff;
|
|
|
}
|
|
|
|
|
|
+ .highlight {
|
|
|
+ color: red;
|
|
|
+ }
|
|
|
+
|
|
|
.checked {
|
|
|
img {
|
|
|
width: 16px;
|
|
|
@@ -5283,6 +5368,13 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .pre-right-container {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ height: calc(100vh - 100px);
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.table-choose3 {
|