@@ -5,14 +5,14 @@
< z-nav-bar title = "中药检索" > < / z-nav-bar >
< view class = "contentBox" >
< view class = "grid twoCateList" v-if = "twoCateList.length > 0" >
< u -grid :col = "3 " border class = "u-grid-list" >
< u -grid :col = "2 " border class = "u-grid-list" >
< u-grid-item v-for = "(item, index) in twoCateList" :key="item.id"
@click ="setTwoCateIndex(item, index)" >
< view : class = "['grid-text',curTwoCateIndex == index ? 'cur' : '']" > { { item . title } } < / view >
< view : class = "['grid-text',false ? 'cur' : '']" > { { item . title } } < / view >
< / u-grid-item >
< / u-grid >
< / view >
< view class = "searchList" v-show = "showSearchList" >
<!-- < view class = "searchList" v-show = "showSearchList" >
< view class = "itemBox" v-if = "searchList.length > 0" >
< view class = "item" v-for = "(item, index) in searchList" :key="index" @click="gotoDetail(item)" >
{{ item.title }}
@@ -21,49 +21,95 @@
< view v-else class = "" >
< u-divider text = "未找到相关中药哦~" > < / u-divider >
< / view >
< / view >
< / view > -- >
< view v-show = "!showSearchList" >
< view class = "titl eList" v-if = "curOneCateIndex ! = 2 " >
< u -grid :col = "1 " v-if = "titleList.length > 0" >
< u -grid -item v-for = "(item, index) in titl eList" :key="item.prescriptId"
@click ="gotoDetail(item)" style = "align-items: flex-start;border-bottom: 2px solid #fff;" >
< view : class= "['titleItem ']" > { { item . title } } < / view >
< / u-grid-item >
< / u-grid >
< u-divider v-else text = "暂无中药数据哦~" > < / u-divider >
< / view >
< view class = "titleList" v-else >
< u -grid :col = "1" v-i f = "titleList" >
< u -grid -item v-for = "(item, index) in titleList" :key="index" >
< view :class = "['titleItem']" > { { index } } < / view >
< u-grid-item v-for = "(item1, index1) in item" :key="item1.prescriptId" >
< view :class = "['JFtitleItem']" @click ="gotoDetail(item1)" > {{ item1.title }} < / view >
< / u -grid -item >
< / u-grid-item >
< / u-grid >
< u-divider v-else text = "暂无中药数据哦~" > < / u-divider >
< / view >
< / view >
< ! - - < view class = "grid twoCat eList" v-if = "twoCateList.length > 0 && curOneCateIndex = = 1 " >
< u -grid :col = "3 " border class = "u-grid-list" >
< u-grid-item v-for = "(item, index) in twoCat eList" :key="item.prescriptCategory Id"
@click ="setTwoCateIndex(item, index)" >
< view : class= "['grid-text',curTwoCateIndex == index ? 'cur' : ' ']" > { { item . title } } < / view >
< / u-grid-item >
< / u-grid >
< / view >
< view class = "titleList" v-if = "curOneCateIndex == 1" >
< u -grid :col = "1" v-if = "titleList.length > 0" >
< u -grid -item v-for = "(item, index) in titleList" :key="item.id"
@click ="gotoDetail(item)" style = "align-items: flex-start;border-bottom: 2px solid #fff;" >
< view :class = "['titleItem']" > { { item . name } } < / view >
< / u-grid-item >
< / u-grid >
< u-divider v-else text = "暂无药物数据哦~" > < / u-divider >
< / view > -- >
< view class = "titleList" >
< u-grid :col = "1" v-if = "titleList.length > 0" >
< ! - - < view style = "font-size: 15px;padding: 5px;color: red;" > 大家常看的 < / view > -- >
< u-grid-item v-for = "(item, index) in titleList" :key="item.id"
@click ="gotoCNDetail(item)" style = "align-items: flex-start;border-bottom: 2px solid #fff;" >
< view :class = "['titleItem']" > { { item . name } } < / view >
< / u-grid-item >
< / u-grid >
< u-divider v-else text = "暂无药物数据哦~" > < / u-divider >
< / view >
< / view >
< / view >
< u-popup mode = "bottom" :show = "xingweiShow" :round = "10" @close ="xingweiShow=false" >
< view class = "tanchu " >
< view class = "dp_title" > 性味选择 < / view >
<!-- < view class = "flexbox" >
< i @click ="showEmj()" :class = "emojiIcon" > < / i >
< editor id = "editor" class = "ql-container" :placeholder = "placeholder" @ready ="onEditorReady" > < / editor >
< / view > - - >
< view style = "max-height: 1000rpx;overflow-y: scroll;" >
< view class = "CNMedicineSearchPopup " >
< view class = "dp_title" > 性 < / view >
< view class = "grid twoCateList" v-if = "xingSelectionList.length > 0" >
< u -grid :col = "3" border class = "u-grid-list" >
< u-grid-item v-for = "(item, index) in xingSelectionList" :key="item.title"
@click ="setXingIndex(item, index, curXingIndex)" >
< view : class = "['grid-text',curXingIndex.includes(item.title) ? 'cur' : '']" > { { item . title } } < / view >
< / u-grid-item >
< / u-grid >
< / view >
< view class = "dp_title" > 味 < / view >
< view class = "grid twoCateList" v-if = "weiSelectionList.length > 0" >
< u -grid :col = "3" border class = "u-grid-list" >
< u-grid-item v-for = "(item, index) in weiSelectionList" :key="item.title"
@click ="setXingIndex(item, index, curWeiIndex)" >
< view : class = "['grid-text',curWeiIndex.includes(item.title) ? 'cur' : '']" > { { item . title } } < / view >
< / u-grid-item >
< / u-grid >
< / view >
< view class = "dp_title" > 归经 < / view >
< view class = "grid twoCateList" v-if = "guijingSelectionList.length > 0" >
< u -grid :col = "3" border class = "u-grid-list" >
< u-grid-item v-for = "(item, index) in guijingSelectionList" :key="item.title"
@click ="setXingIndex(item, index, curGuijingIndex)" >
< view : class = "['grid-text',curGuijingIndex.includes(item.title) ? 'cur' : '']" > { { item . title } } < / view >
< / u-grid-item >
< / u-grid >
< / view >
< view style = "max-height: 1000rpx;overflow-y: scroll;margin-top: 28px;" >
<!-- 提交 -- >
< view class = "padding-bottom-sm flex padding-lr-sm" style = "border-bottom: 1px solid #EEEEEE;" >
< view >
< u-button type = "success" @click ="goToSign " > 查询 < / u -button >
< u-button type = "success" @click ="goToSearch " > 查询 < / u -button >
< / view >
< / view >
< / view >
< / view >
< / u-popup >
< u-popup mode = "bottom" :show = "gongxiaoShow" :round = "10" @close ="gongxiaoShow=false" >
< view class = "CNMedicineSearchPopup" >
< view class = "dp_title" > 功效 < / view >
< view class = "grid twoCateList" v-if = "gongxiaoSelectionList.length > 0" >
< u -grid :col = "3" border class = "u-grid-list" >
< u-grid-item v-for = "(item, index) in gongxiaoSelectionList" :key="item.title"
@click ="setXingIndex(item, index, curGongxiaoIndex)" >
< view : class = "['grid-text',curGongxiaoIndex.includes(item.title) ? 'cur' : '']" > { { item . title } } < / view >
< / u-grid-item >
< / u-grid >
< / view >
< view style = "max-height: 1000rpx;overflow-y: scroll;margin-top: 28px;" >
<!-- 提交 -- >
< view class = "padding-bottom-sm flex padding-lr-sm" style = "border-bottom: 1px solid #EEEEEE;" >
< view >
< u-button type = "success" @click ="goToSearch" > 查询 < / u -button >
< / view >
< / view >
< / view >
< / view >
< / u-popup >
< / view >
@@ -84,13 +130,65 @@
xingweiShow : false , // 查询条件弹出层,性味
gongxiaoShow : false , // 查询条件弹出层,功效
sanpinShow : false , // 查询条件弹出层, sanpin
xingSelectionList : [
{ title : "寒" } ,
{ title : "凉" } ,
{ title : "平" } ,
{ title : "温" } ,
{ title : "热" } ,
] ,
weiSelectionList : [
{ title : "酸" } ,
{ title : "涩" } ,
{ title : "甘" } ,
{ title : "苦" } ,
{ title : "辛" } ,
{ title : "咸" } ,
{ title : "淡" } ,
] ,
guijingSelectionList : [
{ title : "心" } ,
{ title : "肝" } ,
{ title : "脾" } ,
{ title : "肺" } ,
{ title : "肾" } ,
{ title : "肠" } ,
{ title : "膀胱" } ,
{ title : "胃" } ,
] ,
curXingIndex : [ ] ,
curWeiIndex : [ ] ,
curGuijingIndex : [ ] ,
gongxiaoSelectionList : [
{ title : "解表" } ,
{ title : "清热" } ,
{ title : "泻下" } ,
{ title : "祛风湿" } ,
{ title : "芳香化湿" } ,
{ title : "利水渗湿" } ,
{ title : "温里" } ,
{ title : "理气" } ,
{ title : "消食" } ,
{ title : "驱虫" } ,
{ title : "止血" } ,
{ title : "活血祛瘀" } ,
{ title : "化痰止咳平喘" } ,
{ title : "安神" } ,
{ title : "平肝息风" } ,
{ title : "开窍" } ,
{ title : "补虚" } ,
{ title : "收涩" } ,
{ title : "涌吐" } ,
{ title : "外用及其他" } ,
] ,
curGongxiaoIndex : [ ] ,
searchValue : '' ,
twoCateList : [
{ title : "性味" , id : 1 } ,
{ title : "功效" , id : 2 } ,
{ title : "三品" , id : 3 }
// {title:"三品", id: 3}
] , // 二级分类标题
titleList : [ ] , // 方剂标题
curFirstTabIndex : 0 , // 20240128需求: 在原来一级分类基础上再新加一级分类: 方剂检索、药物检索
@@ -106,7 +204,8 @@
}
} ,
onLoad ( ) {
this . getUserInfo ( )
this . goToSearch ( )
// this.getUserInfo()
// this.getCateList()
} ,
@@ -118,72 +217,46 @@
... mapState ( [ 'userInfo' ] ) ,
} ,
methods : {
// 检查是有权限使用搜索功能
checkDisable ( ) {
console . log ( '点击了' )
} ,
// 显示无权限弹窗
// showNoRights() {
// let that = this
// uni.showModal({
// content: "",
// confirmText: '好的',
// showCancel: false,
// success: function(res) {
// if (res.confirm) {
// // console.log('用户点击确定');
// that.clear()
// }
// }
// })
// },
// 获取用户详情
getUserInfo ( ) {
// 用户详情
if ( this . userInfo . id != undefined ) {
this . $http
. post ( 'book/user/info/' + this . userInfo . id )
. then ( res => {
this . userMes = res . user
this . getCateList ( )
console . log ( this . userMes , '呼呼' )
} ) ;
setXingIndex ( item , index , arr ) {
// let arr = this.curXingIndex
if ( arr . includes ( item . title ) ) {
// 若包含,则从数组中删除该值
var index = arr . indexOf ( item . title ) ;
if ( index > - 1 ) {
arr . splice ( index , 1 ) ;
}
} else {
// 若不包含,则向数组中添加该值
arr . push ( item . title ) ;
}
console . log ( arr ) ;
} ,
// 方剂详情
gotoDetail ( item ) {
if ( this . userMes . prescriptAPower == 0 && this . curOneCateIndex == 0 ) {
this . limitShow = true
return
}
if ( this . userMes . prescriptBPower == 0 && this . curOneCateIndex == 3 ) {
this . limitShow = true
return
}
// 等于1 就是有权限
uni . navigateTo ( {
url : "./prescriptDetail?id=" + item . prescriptId
} )
} ,
// 获取方剂名称
getTitles ( id ) {
goToSearch ( ) {
$http . request ( {
url : "book/prescript/prescript List" ,
url : "book/materials/getMaterials List" ,
method : "POST" , // POST、GET、PUT、DELETE, 具体说明查看官方文档
data : {
// loadAnimate: 'none', // 请求加载动画
'prescriptCategoryId' : id ,
"limi t" : 1000 ,
"pag e" : 1
"limit" : 100 ,
"curren t" : 1 ,
"nam e" : "" ,
"type" : "" , // 植物、矿物、动物
"effect" : this . curGongxiaoIndex . join ( ',' ) , //功效
"taste" : this . curWeiIndex . join ( ',' ) , //味
"property" : this . curXingIndex . join ( ',' ) , //性
"tropism" : this . curGuijingIndex . join ( ',' ) //归经
} ,
header : { //默认 无 说明:请求头
'Content-Type' : 'application/json'
} ,
} ) . then ( res => {
console . log ( res , '内容获取成功' )
if ( res . code == 0 && res . page . records . length > 0 ) {
this . titleList = res . page . records
if ( res . code == 0 && res . result . records . length > 0 ) {
this . titleList = res . result . records
this . xingweiShow = false
this . gongxiaoShow = false
this . sanpinShow = false
} else {
this . titleList = [ ]
}
@@ -192,6 +265,27 @@
console . log ( e )
} )
} ,
gotoCNDetail ( item ) {
uni . navigateTo ( {
url : "./CNMedicineSearchDetail?id=" + item . id
} )
} ,
// // 方剂详情
// gotoDetail(item) {
// if (this.userMes.prescriptAPower == 0 && this.curOneCateIndex == 0) {
// this.limitShow = true
// return
// }
// if (this.userMes.prescriptBPower == 0 && this.curOneCateIndex == 3) {
// this.limitShow = true
// return
// }
// // 等于1 就是有权限
// uni.navigateTo({
// url: "./prescriptDetail?id=" + item.prescriptId
// })
// },
setTwoCateIndex ( item , index ) {
let id = item . id
this . curTwoCateIndex = index
@@ -200,47 +294,11 @@
this . gongxiaoShow = false
this . sanpinShow = false
}
} ,
getSearch ( ) {
$http . request ( {
url : "book/prescript/searchPrescript" ,
method : "POST" , // POST、GET、PUT、DELETE, 具体说明查看官方文档
data : {
loadAnimate : 'none' , // 请求加载动画
'keywords' : this . searchValue ,
type : this . curOneCateIndex + 1
} ,
header : { //默认 无 说明:请求头
'Content-Type' : 'application/json'
} ,
} ) . then ( res => {
console . log ( res , '搜索结果' )
if ( res . code == 0 && res . list . length >= 0 ) {
this . showSearchList = true
this . searchList = res . list
} else {
this . searchList = [ ]
}
} ) . catch ( e => {
// this.titleList = []
this . searchList = [ ]
console . log ( e )
} )
} ,
search ( res ) {
console . log ( res , 'res' )
// uni.showToast({
// title: '搜索:' + res,
// icon: 'none'
// })
if ( res == '' ) {
this . showSearchList = false
this . searchList = [ ]
} else {
this . getSearch ( )
}
if ( id == 2 ) {
this . xingweiShow = false
this . gongxiaoShow = true
this . sanpinShow = false
}
} ,
} ,
onBackPress ( ) {
@@ -309,7 +367,10 @@
color : # 55 aa7f ;
}
// .u-grid-list{border: 0.5px solid #dadbde;}
. u - grid - list {
// border-top: 0.5px solid #dadbde;
// border-bottom: 0.5px solid #dadbde;
}
}
. titleList {