测试版
This commit is contained in:
333
pages/component/commonComponents/sticky.vue
Normal file
333
pages/component/commonComponents/sticky.vue
Normal file
@@ -0,0 +1,333 @@
|
||||
<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>
|
||||
Reference in New Issue
Block a user