334 lines
7.8 KiB
Vue
334 lines
7.8 KiB
Vue
<template>
|
|
<view style="background-color: #fff; width: 100%">
|
|
<u-tabs
|
|
lineWidth="30"
|
|
lineColor="#294a97"
|
|
:activeStyle="{
|
|
color: '#294a97',
|
|
transform: 'scale(1.05)',
|
|
}"
|
|
:inactiveStyle="{
|
|
color: '#606266',
|
|
transform: 'scale(1)',
|
|
}"
|
|
:itemStyle="itemStyle"
|
|
:keyName="label"
|
|
:list="dataList"
|
|
:is-scroll="false"
|
|
:current="currentCateIndex"
|
|
@change="handleselectCate"
|
|
>
|
|
<template slot="labelSlot" slot-scope="slotProps">
|
|
<slot name="labelSlot" :data="slotProps.data"></slot>
|
|
</template>
|
|
</u-tabs>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import $http from "@/config/requestConfig.js";
|
|
import { mapState } from "vuex";
|
|
export default {
|
|
props: ["list", "currentCateIndex", "label", "itemStyle"],
|
|
components: {},
|
|
data() {
|
|
return {
|
|
detailInfo: {},
|
|
playData: {},
|
|
searchValue: "",
|
|
|
|
twoCateList: [], // 二级分类标题
|
|
dataList: [{}, {}], // 方剂标题
|
|
// currentCateIndex: 0, // 当前选中的一级分类
|
|
curTwoCateIndex: 0, // 当前选中的二级分类
|
|
searchList: [], // 搜索结果数组
|
|
showSearchList: false,
|
|
userMes: {}, // 用户信息
|
|
searchDisable: false, // 搜索不可用
|
|
limitShow: false,
|
|
limitTitle: "提示",
|
|
limitContent: "",
|
|
scrollViewHeight: 0,
|
|
urlList: {
|
|
instructionsForUse: "app/phone.do?getMembershipGuide",
|
|
},
|
|
};
|
|
},
|
|
onLoad() {
|
|
this.getCourseDescriptionData();
|
|
},
|
|
onHide() {
|
|
|
|
},
|
|
computed: {
|
|
...mapState(["userInfo"]),
|
|
},
|
|
watch: {
|
|
list: {
|
|
immediate: true,
|
|
handler(newRoute) {
|
|
this.dataList=[...this.list]
|
|
},
|
|
},
|
|
|
|
},
|
|
methods: {
|
|
getData() {
|
|
this.$http
|
|
.post(this.urlList.instructionsForUse, {
|
|
customerOid: "94c043df9daa40278e86e79fbd149c8d",
|
|
customerType: "D",
|
|
token: uni.getStorageSync("token"),
|
|
oid: "b07e45f6a5f3491db9854b16f3fd8b19",
|
|
step: 0,
|
|
limit: 100,
|
|
})
|
|
.then((res) => {
|
|
this.detailInfo = res.obj;
|
|
});
|
|
},
|
|
getPriceData() {
|
|
var that = this;
|
|
setTimeout(() => {
|
|
that.$nextTick(() => {
|
|
that.$refs.priceDetail.getData();
|
|
});
|
|
}, 100);
|
|
},
|
|
// 检查是有权限使用搜索功能
|
|
checkDisable() {
|
|
console.log("点击了");
|
|
},
|
|
// 获取用户详情
|
|
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, "呼呼");
|
|
});
|
|
}
|
|
},
|
|
// 详情
|
|
gotoDetail(item) {
|
|
if (this.currentCateIndex == 0) {
|
|
uni.navigateTo({
|
|
url: "./xueshugongxianDetail?id=" + item.id,
|
|
});
|
|
return;
|
|
}
|
|
if (this.currentCateIndex == 1) {
|
|
uni.navigateTo({
|
|
url: "./medicaldesDetail?id=" + item.id,
|
|
});
|
|
return;
|
|
}
|
|
if (this.currentCateIndex == 2) {
|
|
console.log("111", item);
|
|
uni.navigateTo({
|
|
url: "./video?title=" + item.name + "&src=" + item.url,
|
|
});
|
|
return;
|
|
}
|
|
if (this.currentCateIndex == 3) {
|
|
console.log("111", item);
|
|
uni.navigateTo({
|
|
url: "./recordDetail?id=" + item.id,
|
|
});
|
|
return;
|
|
}
|
|
},
|
|
// 获取名称
|
|
getTitles(dictType) {
|
|
if (this.currentCateIndex == 0) {
|
|
if (dictType == 2) {
|
|
uni.navigateTo({
|
|
url: "./zhuanzhuchuban",
|
|
});
|
|
return;
|
|
}
|
|
$http
|
|
.request({
|
|
url: "book/generalArticle/articleByPage",
|
|
method: "POST",
|
|
data: {
|
|
type: dictType == 1 ? "1" : "2",
|
|
limit: 1000,
|
|
current: 1,
|
|
},
|
|
header: {
|
|
"Content-Type": "application/json",
|
|
},
|
|
})
|
|
.then((res) => {
|
|
if (res.code == 0 && res.result && res.result.records.length > 0) {
|
|
this.dataList = res.result.records;
|
|
} else {
|
|
this.dataList = [];
|
|
}
|
|
})
|
|
.catch((e) => {
|
|
this.dataList = [];
|
|
console.log(e);
|
|
});
|
|
}
|
|
if (this.currentCateIndex == 1) {
|
|
$http
|
|
.request({
|
|
url: "book/medicaldes/inheritListByPage",
|
|
method: "POST",
|
|
data: {
|
|
dictType: dictType,
|
|
limit: 1000,
|
|
current: 1,
|
|
},
|
|
header: {
|
|
"Content-Type": "application/json",
|
|
},
|
|
})
|
|
.then((res) => {
|
|
if (res.code == 0 && res.result.records.length > 0) {
|
|
this.dataList = res.result.records;
|
|
for (let i = 0; i < this.dataList.length; i++) {
|
|
this.dataList[i].imageslist = [];
|
|
this.dataList[i].imageslist = this.dataList[i].img.split(";");
|
|
}
|
|
} else {
|
|
this.dataList = [];
|
|
}
|
|
})
|
|
.catch((e) => {
|
|
this.dataList = [];
|
|
});
|
|
}
|
|
if (this.currentCateIndex == 2) {
|
|
$http
|
|
.request({
|
|
url: "book/medicaldes/lightListByType?type=" + dictType,
|
|
method: "POST",
|
|
data: {
|
|
limit: 1000,
|
|
page: 1,
|
|
},
|
|
header: {
|
|
"Content-Type": "application/json",
|
|
},
|
|
})
|
|
.then((res) => {
|
|
if (res.code == 0 && res.result.length > 0) {
|
|
this.dataList = res.result;
|
|
} else {
|
|
this.dataList = [];
|
|
}
|
|
})
|
|
.catch((e) => {
|
|
this.dataList = [];
|
|
console.log(e);
|
|
});
|
|
}
|
|
if (this.currentCateIndex == 3) {
|
|
$http
|
|
.request({
|
|
url: "book/medicaldes/recordByType?type=" + dictType,
|
|
method: "POST",
|
|
data: {
|
|
limit: 1000,
|
|
page: 1,
|
|
},
|
|
header: {
|
|
"Content-Type": "application/json",
|
|
},
|
|
})
|
|
.then((res) => {
|
|
if (res.code == 0 && res.result.length > 0) {
|
|
this.dataList = res.result;
|
|
} else {
|
|
this.dataList = [];
|
|
}
|
|
})
|
|
.catch((e) => {
|
|
this.dataList = [];
|
|
console.log(e);
|
|
});
|
|
}
|
|
},
|
|
setTwoCateIndex(item, index) {
|
|
let dictType = item.dictType;
|
|
this.curTwoCateIndex = index;
|
|
this.getTitles(dictType);
|
|
},
|
|
async handleselectCate(e) {
|
|
this.$emit("handleselectCate", e, e.index);
|
|
var that = this;
|
|
},
|
|
|
|
transformData(inputData) {
|
|
const result = {};
|
|
inputData.forEach((item) => {
|
|
const { letter } = item;
|
|
if (!result[letter]) {
|
|
result[letter] = [];
|
|
}
|
|
result[letter].push(item);
|
|
});
|
|
return result;
|
|
},
|
|
getCateList(id) {
|
|
id ? "" : (id = 0);
|
|
this.twoCateList = [];
|
|
this.curTwoCateIndex = 0;
|
|
this.getTowCateList(this.cateList[0].type);
|
|
},
|
|
},
|
|
onBackPress() {
|
|
// #ifdef APP-PLUS
|
|
plus.key.hideSoftKeybord();
|
|
// #endif
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.headImage {
|
|
width: 100%;
|
|
height: 300rpx;
|
|
}
|
|
|
|
.scroll-Y {
|
|
height: 100%;
|
|
}
|
|
|
|
.scroll-view_H {
|
|
white-space: nowrap;
|
|
width: 100%;
|
|
}
|
|
|
|
.scroll-view-item_H {
|
|
display: inline-block;
|
|
width: 100%;
|
|
}
|
|
|
|
.dataList {
|
|
height: 100%;
|
|
}
|
|
|
|
.titleList2 {
|
|
height: calc(100% - 170rpx);
|
|
}
|
|
|
|
.instructionsForUse {
|
|
height: calc(100% - 380rpx);
|
|
padding: 30rpx 30rpx 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.cateList {
|
|
width: 100%;
|
|
margin-top: 15rpx;
|
|
}
|
|
.instructionsForUseBox {
|
|
height: calc(100%);
|
|
}
|
|
</style>
|