feat(订单): 添加预售商品提示功能
- 在订单提交组件中添加预售商品提示弹窗 - 新增预售商品备注接口调用 - 修改VIP购买提示文本,明确不包含论坛权益 - 调整开发环境API配置
This commit is contained in:
@@ -2,8 +2,9 @@ let baseUrl = "";
|
||||
let socketUrl = "";
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
// 开发环境
|
||||
baseUrl = "https://api.nuttyreading.com/"; //线上正式'
|
||||
// baseUrl = "http://192.168.110.100:9200/pb/"; //张川川
|
||||
// baseUrl = "https://testapi.nuttyreading.com/"; // 线上测试
|
||||
// baseUrl = "https://api.nuttyreading.com/"; //线上正式'
|
||||
baseUrl = "http://192.168.110.100:9200/pb/"; //张川川
|
||||
} else if (process.env.NODE_ENV === 'production') {
|
||||
// 生产环境11
|
||||
baseUrl = "https://api.nuttyreading.com/"; //线上正式
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
"src" : "图片路径"
|
||||
}
|
||||
],
|
||||
"versionName" : "2.0.45",
|
||||
"versionCode" : 2045,
|
||||
"versionName" : "2.0.46",
|
||||
"versionCode" : 2046,
|
||||
"sassImplementationName" : "node-sass",
|
||||
"app-plus" : {
|
||||
"nvueCompiler" : "uni-app",
|
||||
|
||||
@@ -519,6 +519,17 @@
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
<u-modal
|
||||
:show="presaleRemarkModalShow"
|
||||
title="提示"
|
||||
:content="presaleRemarkModalContent"
|
||||
:showCancelButton="true"
|
||||
confirmText="确定"
|
||||
cancelText="取消"
|
||||
@confirm="handlePresaleRemarkConfirm"
|
||||
@cancel="handlePresaleRemarkCancel"
|
||||
@close="handlePresaleRemarkCancel"
|
||||
></u-modal>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -616,6 +627,9 @@
|
||||
|
||||
orderModalShowInfo: {},
|
||||
orderModalShow: false,
|
||||
presaleRemarkModalShow: false,
|
||||
presaleRemarkModalContent: "",
|
||||
presaleRemarkModalResolve: null,
|
||||
payType: 1,
|
||||
freightNum: 0,
|
||||
addressData: {
|
||||
@@ -1350,6 +1364,62 @@
|
||||
this.content = this.remark;
|
||||
}
|
||||
},
|
||||
openPresaleRemarkModal(content) {
|
||||
this.presaleRemarkModalContent = content;
|
||||
this.presaleRemarkModalShow = true;
|
||||
return new Promise((resolve) => {
|
||||
this.presaleRemarkModalResolve = resolve;
|
||||
});
|
||||
},
|
||||
handlePresaleRemarkConfirm() {
|
||||
this.presaleRemarkModalShow = false;
|
||||
if (this.presaleRemarkModalResolve) {
|
||||
const resolve = this.presaleRemarkModalResolve;
|
||||
this.presaleRemarkModalResolve = null;
|
||||
resolve(true);
|
||||
}
|
||||
},
|
||||
handlePresaleRemarkCancel() {
|
||||
this.presaleRemarkModalShow = false;
|
||||
if (this.presaleRemarkModalResolve) {
|
||||
const resolve = this.presaleRemarkModalResolve;
|
||||
this.presaleRemarkModalResolve = null;
|
||||
resolve(false);
|
||||
}
|
||||
},
|
||||
async checkPresaleRemark() {
|
||||
if (this.pageType != "goods") {
|
||||
return true;
|
||||
}
|
||||
const productIds = this.goodsDataList
|
||||
.map((e) => e.productId)
|
||||
.filter((id) => id)
|
||||
.join(",");
|
||||
if (!productIds || !this.urlList.presaleRemark) {
|
||||
return true;
|
||||
}
|
||||
try {
|
||||
const res = await this.$http.request({
|
||||
url: `${this.urlList.presaleRemark}`,
|
||||
method: "POST",
|
||||
data: {
|
||||
productIds,
|
||||
},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
});
|
||||
const remark =
|
||||
res && typeof res.remark == "string" ? res.remark.trim() : "";
|
||||
if (!remark) {
|
||||
return true;
|
||||
}
|
||||
return await this.openPresaleRemarkModal(remark);
|
||||
} catch (error) {
|
||||
console.log("presaleRemark error:", error);
|
||||
return true;
|
||||
}
|
||||
},
|
||||
async goBuyJie() {
|
||||
if (this.pageType == "vip") {
|
||||
if (this.radioValue != "1") {
|
||||
@@ -1457,6 +1527,11 @@
|
||||
});
|
||||
thisproduct = thisproduct.join(",");
|
||||
}
|
||||
const passPresaleRemark = await this.checkPresaleRemark();
|
||||
if (!passPresaleRemark) {
|
||||
this.buyingFlag = false;
|
||||
return;
|
||||
}
|
||||
if (
|
||||
this.historyOrderInfo &&
|
||||
thisproduct == this.historyOrderInfo.product &&
|
||||
|
||||
@@ -1308,7 +1308,7 @@
|
||||
});
|
||||
|
||||
const joinedText = this.textList.join('/');
|
||||
this.goBuyTitle = '购买'+joinedText+'VIP,即可畅享更多专属权益';
|
||||
this.goBuyTitle = '购买'+joinedText+'VIP,即可畅享更多专属权益(不包含论坛)';
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -132,6 +132,7 @@ export default {
|
||||
list: "app/phone.do?getCourseDetail_new",
|
||||
initPrepareOrder: "common/buyOrder/initPrepareOrder",
|
||||
buyOrder: "book/buyOrder/placeOrder",
|
||||
presaleRemark: "book/buyOrder/presaleRemark",
|
||||
curriculumInfo: "app/phone.do?getCourseInfo",
|
||||
detailInfo: "app/phoneDoctor.do?getTaiHuClassInfo_new",
|
||||
userInfo: "common/user/getUserInfo",
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
|
||||
<view
|
||||
class="container commonPageBox"
|
||||
style="background-color: #fff !important"
|
||||
>
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
<public-module></public-module>
|
||||
<z-nav-bar title="吴门医述1111"></z-nav-bar>
|
||||
<z-nav-bar title="吴门医述"></z-nav-bar>
|
||||
<!-- <uni-search-bar @confirm="search" :focus="true" v-model="searchValue" @blur="blur" @focus="focus" @input="input"
|
||||
@cancel="cancel" @clear="clear">
|
||||
</uni-search-bar> -->
|
||||
@@ -10,8 +14,13 @@
|
||||
<view class="contentBox">
|
||||
<!-- <scroll-view class="scroll-view_H oneCateList" scroll-x="true" scroll-left="0"> -->
|
||||
<view class="oneCateList flexbox">
|
||||
<text :class="[curOneCateIndex == index ? 'cur' : '']" @click="setOneCateIndex(item,index)"
|
||||
v-for="(item, index) in oneCateList" :key="item.type">{{item.title}}</text>
|
||||
<text
|
||||
:class="[curOneCateIndex == index ? 'cur' : '']"
|
||||
@click="setOneCateIndex(item, index)"
|
||||
v-for="(item, index) in oneCateList"
|
||||
:key="item.type"
|
||||
>{{ item.title }}</text
|
||||
>
|
||||
</view>
|
||||
<!-- <view class="search_box" v-if="oneCateList.length > 0">
|
||||
<u-search @click="checkDisable" placeholder="请输入方剂名" @focus="focus" @clear="clear" v-model="searchValue"
|
||||
@@ -28,70 +37,148 @@
|
||||
</view>
|
||||
</view> -->
|
||||
<!-- </scroll-view> -->
|
||||
<view v-show="!showSearchList">
|
||||
<template v-if="!showSearchList">
|
||||
<view class="grid twoCateList" v-if="twoCateList.length > 0">
|
||||
<u-grid :col="3" border class="u-grid-list">
|
||||
<u-grid-item v-for="(item, index) in twoCateList" :key="item.dictType"
|
||||
@click="setTwoCateIndex(item, index)">
|
||||
<view :class="['grid-text',curTwoCateIndex == index ? 'cur' : '']">{{item.dictValue}}</view>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
<view
|
||||
class="custom-grid"
|
||||
:class="curOneCateIndex == 1 ? 'col-4' : 'col-3'"
|
||||
>
|
||||
<view
|
||||
v-for="(item, index) in twoCateList"
|
||||
:key="item.dictType"
|
||||
class="grid-item"
|
||||
@click="setTwoCateIndex(item, index)"
|
||||
>
|
||||
<view
|
||||
:class="['grid-text', curTwoCateIndex == index ? 'cur' : '']"
|
||||
>{{ item.dictValue }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
:class="` titleList`"
|
||||
:style="`height:calc(100% - ${scrollViewHeight * 2}rpx;`"
|
||||
>
|
||||
<scroll-view
|
||||
scroll-y="true"
|
||||
class="scroll-Y"
|
||||
v-if="titleList.length > 0"
|
||||
>
|
||||
<template v-if="curOneCateIndex == 2 && curTwoCateIndex == 2">
|
||||
<!-- 吴门缘起-吴门之徽 -->
|
||||
<view class="titleList" v-if="curOneCateIndex == 2&&curTwoCateIndex == 2">
|
||||
<u-grid :col="3" v-if="titleList.length > 0">
|
||||
<u-grid-item v-for="(item, index) in titleList" :key="item.id" @click="previewImage(item.url)"
|
||||
style="align-items: flex-start;">
|
||||
<!-- <view :class="['titleItem']">{{item.name}}</view> -->
|
||||
<img :src="item.url" alt="" class="wmzhimg" mode="aspectFit">
|
||||
|
||||
<u-grid :col="3">
|
||||
<u-grid-item
|
||||
class="scroll-view-item"
|
||||
v-for="(item, index) in titleList"
|
||||
:key="item.id"
|
||||
@click="previewImage(item.url)"
|
||||
style="align-items: flex-start"
|
||||
>
|
||||
<img
|
||||
:src="item.url"
|
||||
alt=""
|
||||
class="wmzhimg"
|
||||
mode="aspectFit"
|
||||
/>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
<u-divider v-else text="暂无数据哦~"></u-divider>
|
||||
</view>
|
||||
</template>
|
||||
<template
|
||||
v-else-if="
|
||||
curOneCateIndex == 0 &&
|
||||
(curTwoCateIndex == 0 || curTwoCateIndex == 2)
|
||||
"
|
||||
>
|
||||
<common-list
|
||||
@lower="onReachBottom1"
|
||||
:pagination="pagination"
|
||||
:dataList="titleList"
|
||||
@hancleClick="gotoDetail"
|
||||
label="title"
|
||||
>
|
||||
</common-list>
|
||||
<!-- 学术贡献-学术思想和学术平台 -->
|
||||
<view class="titleList" v-else-if="curOneCateIndex == 0&&(curTwoCateIndex == 0||curTwoCateIndex == 2)">
|
||||
<u-grid :col="1" v-if="titleList.length > 0">
|
||||
<u-grid-item v-for="(item, index) in titleList" :key="item.id" @click="gotoDetail(item)"
|
||||
</template>
|
||||
<template v-else-if="curOneCateIndex == 0 && curTwoCateIndex == 1">
|
||||
<u-divider text="点击标签进入出版专著"></u-divider>
|
||||
</template>
|
||||
<template v-else-if="curOneCateIndex == 0 || curOneCateIndex == 2">
|
||||
<common-list
|
||||
@lower="onReachBottom1"
|
||||
:dataList="titleList"
|
||||
@hancleClick="gotoDetail"
|
||||
label="name"
|
||||
>
|
||||
</common-list>
|
||||
<!-- <u-grid :col="1">
|
||||
|
||||
<u-grid-item class="scroll-view-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> -->
|
||||
</template>
|
||||
<template v-if="curOneCateIndex == 3">
|
||||
<common-list
|
||||
@lower="onReachBottom1"
|
||||
:dataList="titleList"
|
||||
@hancleClick="gotoDetail"
|
||||
label="title"
|
||||
>
|
||||
</common-list>
|
||||
|
||||
<!-- <u-grid :col="1">
|
||||
|
||||
|
||||
|
||||
<scroll-view class="scroll-Y" scroll-y="true">
|
||||
<u-grid-item class="scroll-view-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.title }}</view>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
</u-grid-item></scroll-view>
|
||||
</u-grid> -->
|
||||
</template>
|
||||
|
||||
<template v-if="curOneCateIndex == 1">
|
||||
<view
|
||||
class="scroll-view-item"
|
||||
v-for="(item, index) in titleList"
|
||||
:key="item.id"
|
||||
@click="gotoDetail(item)"
|
||||
style="
|
||||
align-items: flex-start;
|
||||
border-bottom: 2px solid #fff;
|
||||
display: flex;
|
||||
padding: 20rpx 0;
|
||||
"
|
||||
>
|
||||
<view style="width: 280rpx; text-align: center">
|
||||
<img
|
||||
src=""
|
||||
v-if="item.imageslist && item.imageslist.length == 0"
|
||||
class="chImage"
|
||||
/>
|
||||
<img
|
||||
:src="item.imageslist && item.imageslist[0]"
|
||||
v-else
|
||||
class="chImage"
|
||||
/>
|
||||
</view>
|
||||
<view :class="['titleItem']">{{ item.name }}</view>
|
||||
</view>
|
||||
</template>
|
||||
</scroll-view>
|
||||
|
||||
<u-divider v-else text="暂无数据哦~"></u-divider>
|
||||
</view>
|
||||
<!-- 学术贡献-出版专著 -->
|
||||
<view class="titleList" v-else-if="curOneCateIndex == 0&&(curTwoCateIndex == 1)">
|
||||
<u-divider text="点击标签进入出版专著"></u-divider>
|
||||
</template>
|
||||
</view>
|
||||
<!-- 其他 -->
|
||||
<view class="titleList" v-else>
|
||||
<u-grid :col="1" v-if="titleList.length > 0&&(curOneCateIndex==0||curOneCateIndex==2)">
|
||||
<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-grid :col="1" v-if="titleList.length > 0&&curOneCateIndex==3">
|
||||
<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.title}}</view>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
<view :col="1" v-if="titleList.length > 0&&curOneCateIndex==1">
|
||||
<view v-for="(item, index) in titleList" :key="item.id" @click="gotoDetail(item)"
|
||||
style="align-items: flex-start;border-bottom: 2px solid #fff;display: flex;padding: 20rpx 0;">
|
||||
<view style="width: 280rpx;text-align: center;">
|
||||
<img src="" v-if="item.imageslist&&item.imageslist.length==0" class="chImage">
|
||||
<img :src="item.imageslist&&item.imageslist[0]" v-else class="chImage">
|
||||
</view>
|
||||
<view :class="['titleItem']">{{item.name}}</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<u-divider text="暂无数据哦~" v-if="titleList.length==0"></u-divider>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<!-- <view class="search_box flexbox" @click="">
|
||||
<view class="search">
|
||||
@@ -115,33 +202,34 @@
|
||||
</view>
|
||||
</u-modal> -->
|
||||
|
||||
<z-navigation></z-navigation>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import $http from '@/config/requestConfig.js';
|
||||
import {
|
||||
mapState
|
||||
} from 'vuex';
|
||||
import $http from "@/config/requestConfig.js";
|
||||
import { mapState } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
playData: {},
|
||||
searchValue: '',
|
||||
oneCateList: [{
|
||||
searchValue: "",
|
||||
oneCateList: [
|
||||
{
|
||||
title: "学术贡献",
|
||||
type: 'medicaldesBookType'
|
||||
}, {
|
||||
type: "medicaldesBookType",
|
||||
},
|
||||
{
|
||||
title: "学术传承",
|
||||
type: 'inheritType'
|
||||
}, {
|
||||
type: "inheritType",
|
||||
},
|
||||
{
|
||||
title: "吴门缘起",
|
||||
type: 'lightType'
|
||||
type: "lightType",
|
||||
// }, {
|
||||
// title: "吴门纪实",
|
||||
// type: 'recordType'
|
||||
}], // 一级分类标题1
|
||||
},
|
||||
], // 一级分类标题1
|
||||
twoCateList: [], // 二级分类标题
|
||||
titleList: [], // 方剂标题
|
||||
curOneCateIndex: 0, // 当前选中的一级分类
|
||||
@@ -151,26 +239,26 @@
|
||||
userMes: {}, // 用户信息
|
||||
searchDisable: false, // 搜索不可用
|
||||
limitShow: false,
|
||||
limitTitle: '提示',
|
||||
limitContent: ''
|
||||
}
|
||||
limitTitle: "提示",
|
||||
limitContent: "",
|
||||
scrollViewHeight: 0,
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
this.getUserInfo()
|
||||
this.getUserInfo();
|
||||
// this.getCateList()
|
||||
|
||||
},
|
||||
onHide() {
|
||||
// this.showSearchList = false
|
||||
// this.searchList = []
|
||||
},
|
||||
computed: {
|
||||
...mapState(['userInfo']),
|
||||
...mapState(["userInfo"]),
|
||||
},
|
||||
methods: {
|
||||
// 检查是有权限使用搜索功能
|
||||
checkDisable() {
|
||||
console.log('点击了')
|
||||
console.log("点击了");
|
||||
},
|
||||
// 显示无权限弹窗
|
||||
// showNoRights() {
|
||||
@@ -191,174 +279,183 @@
|
||||
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, '呼呼')
|
||||
this.$http.post("book/user/info/" + this.userInfo.id).then((res) => {
|
||||
this.userMes = res.user;
|
||||
this.getCateList();
|
||||
console.log(this.userMes, "呼呼");
|
||||
});
|
||||
}
|
||||
},
|
||||
// 详情
|
||||
gotoDetail(item) {
|
||||
console.log('111', item)
|
||||
console.log('this.curOneCateIndex', this.curOneCateIndex)
|
||||
console.log('this.curTwoCateIndex', this.curTwoCateIndex)
|
||||
console.log("111", item);
|
||||
console.log("this.curOneCateIndex", this.curOneCateIndex);
|
||||
console.log("this.curTwoCateIndex", this.curTwoCateIndex);
|
||||
if (this.curOneCateIndex == 0) {
|
||||
if(item.contentType == 2){
|
||||
uni.navigateTo({
|
||||
// url: '../bookShop/commodityDetail?id=' + item.id
|
||||
url: './xueshuwebView?id=' + item.id
|
||||
})
|
||||
}else{
|
||||
uni.navigateTo({
|
||||
// url: '../bookShop/commodityDetail?id=' + item.id
|
||||
url: './xueshugongxianDetail?id=' + item.id
|
||||
})
|
||||
}
|
||||
return
|
||||
url: "./xueshugongxianDetail?id=" + item.id,
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.curOneCateIndex == 1) {
|
||||
uni.navigateTo({
|
||||
url: "./medicaldesDetail?id=" + item.id
|
||||
})
|
||||
return
|
||||
url: "./medicaldesDetail?id=" + item.id,
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.curOneCateIndex == 2) {
|
||||
console.log('111', item)
|
||||
console.log("111", item);
|
||||
uni.navigateTo({
|
||||
url: './video?title=' + item.name + '&src=' + item.url
|
||||
})
|
||||
return
|
||||
url: "./video?title=" + item.name + "&src=" + item.url,
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.curOneCateIndex == 3) {
|
||||
console.log('111', item)
|
||||
console.log("111", item);
|
||||
uni.navigateTo({
|
||||
url: "./recordDetail?id=" + item.id
|
||||
})
|
||||
return
|
||||
url: "./recordDetail?id=" + item.id,
|
||||
});
|
||||
return;
|
||||
}
|
||||
},
|
||||
// 获取名称
|
||||
getTitles(dictType) {
|
||||
console.log('dictType', dictType)
|
||||
console.log("dictType", dictType);
|
||||
if (this.curOneCateIndex == 0) {
|
||||
if (dictType == 2) {
|
||||
uni.navigateTo({
|
||||
url: './zhuanzhuchuban'
|
||||
})
|
||||
return
|
||||
url: "./zhuanzhuchuban",
|
||||
});
|
||||
return;
|
||||
}
|
||||
$http.request({
|
||||
$http
|
||||
.request({
|
||||
url: "book/generalArticle/articleByPage",
|
||||
method: "POST",
|
||||
data: {
|
||||
// loadAnimate: 'none', // 请求加载动画
|
||||
"type": dictType==1?'1':'2',
|
||||
"limit": 1000,
|
||||
"current": 1,
|
||||
type: dictType == 1 ? "1" : "2",
|
||||
limit: 1000,
|
||||
current: 1,
|
||||
},
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
}).then(res => {
|
||||
console.log(res, '内容获取成功')
|
||||
if (res.code == 0 && res.result && res.result.records.length > 0) {
|
||||
this.titleList = res.result.records
|
||||
} else {
|
||||
this.titleList = []
|
||||
}
|
||||
}).catch(e => {
|
||||
this.titleList = []
|
||||
console.log(e)
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res, "内容获取成功");
|
||||
if (res.code == 0 && res.result && res.result.records.length > 0) {
|
||||
this.titleList = res.result.records;
|
||||
} else {
|
||||
this.titleList = [];
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
this.titleList = [];
|
||||
console.log(e);
|
||||
});
|
||||
}
|
||||
if (this.curOneCateIndex == 1) {
|
||||
$http.request({
|
||||
$http
|
||||
.request({
|
||||
url: "book/medicaldes/inheritListByPage",
|
||||
method: "POST",
|
||||
data: {
|
||||
// loadAnimate: 'none', // 请求加载动画
|
||||
'dictType': dictType,
|
||||
"limit": 1000,
|
||||
"current": 1
|
||||
dictType: dictType,
|
||||
limit: 1000,
|
||||
current: 1,
|
||||
},
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
}).then(res => {
|
||||
console.log(res, '内容获取成功')
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res, "内容获取成功");
|
||||
if (res.code == 0 && res.result.records.length > 0) {
|
||||
this.titleList = res.result.records
|
||||
this.titleList = res.result.records;
|
||||
for (let i = 0; i < this.titleList.length; i++) {
|
||||
this.titleList[i].imageslist = [];
|
||||
this.titleList[i].imageslist = this.titleList[i].img.split(";");
|
||||
}
|
||||
} else {
|
||||
this.titleList = []
|
||||
this.titleList = [];
|
||||
}
|
||||
}).catch(e => {
|
||||
this.titleList = []
|
||||
console.log(e)
|
||||
})
|
||||
.catch((e) => {
|
||||
this.titleList = [];
|
||||
console.log(e);
|
||||
});
|
||||
}
|
||||
if (this.curOneCateIndex == 2) {
|
||||
$http.request({
|
||||
$http
|
||||
.request({
|
||||
url: "book/medicaldes/lightListByType?type=" + dictType,
|
||||
method: "POST",
|
||||
data: {
|
||||
// loadAnimate: 'none', // 请求加载动画
|
||||
"limit": 1000,
|
||||
"page": 1,
|
||||
limit: 1000,
|
||||
page: 1,
|
||||
},
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
}).then(res => {
|
||||
console.log(res, '内容获取成功')
|
||||
if (res.code == 0 && res.result.length > 0) {
|
||||
this.titleList = res.result
|
||||
} else {
|
||||
this.titleList = []
|
||||
}
|
||||
}).catch(e => {
|
||||
this.titleList = []
|
||||
console.log(e)
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res, "内容获取成功");
|
||||
if (res.code == 0 && res.result.length > 0) {
|
||||
this.titleList = res.result;
|
||||
} else {
|
||||
this.titleList = [];
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
this.titleList = [];
|
||||
console.log(e);
|
||||
});
|
||||
}
|
||||
if (this.curOneCateIndex == 3) {
|
||||
$http.request({
|
||||
$http
|
||||
.request({
|
||||
url: "book/medicaldes/recordByType?type=" + dictType,
|
||||
method: "POST",
|
||||
data: {
|
||||
// loadAnimate: 'none', // 请求加载动画
|
||||
"limit": 1000,
|
||||
"page": 1,
|
||||
limit: 1000,
|
||||
page: 1,
|
||||
},
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
}).then(res => {
|
||||
console.log(res, '内容获取成功')
|
||||
if (res.code == 0 && res.result.length > 0) {
|
||||
this.titleList = res.result
|
||||
} else {
|
||||
this.titleList = []
|
||||
}
|
||||
}).catch(e => {
|
||||
this.titleList = []
|
||||
console.log(e)
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res, "内容获取成功");
|
||||
if (res.code == 0 && res.result.length > 0) {
|
||||
this.titleList = res.result;
|
||||
} else {
|
||||
this.titleList = [];
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
this.titleList = [];
|
||||
console.log(e);
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
setTwoCateIndex(item, index) {
|
||||
let dictType = item.dictType
|
||||
this.curTwoCateIndex = index
|
||||
this.getTitles(dictType)
|
||||
let dictType = item.dictType;
|
||||
this.curTwoCateIndex = index;
|
||||
this.getTitles(dictType);
|
||||
},
|
||||
setOneCateIndex(item, index) {
|
||||
async setOneCateIndex(item, index) {
|
||||
console.log(index, 99999);
|
||||
var that = this;
|
||||
|
||||
// if(this.userMes.tgdzPower == 0){
|
||||
// let that = this
|
||||
// uni.showModal({
|
||||
@@ -379,86 +476,132 @@
|
||||
// })
|
||||
// return
|
||||
// }
|
||||
let type = item.type
|
||||
this.curOneCateIndex = index
|
||||
this.curTwoCateIndex = 0
|
||||
this.searchValue = ''
|
||||
this.searchList = []
|
||||
this.showSearchList = false
|
||||
let type = item.type;
|
||||
this.curOneCateIndex = index;
|
||||
this.curTwoCateIndex = 0;
|
||||
this.searchValue = "";
|
||||
this.searchList = [];
|
||||
this.showSearchList = false;
|
||||
// if (index != 2) {
|
||||
this.getTowCateList(type)
|
||||
await this.getTowCateList(type);
|
||||
|
||||
// uni.createSelectorQuery().select('.oneCateList').boundingClientRect(function (rect) {
|
||||
// var height = rect.height
|
||||
// console.log('元素高度:',);
|
||||
|
||||
// }).exec();
|
||||
|
||||
// } else {
|
||||
// this.getJFList(dictType)
|
||||
// }
|
||||
},
|
||||
getTowCateList(type) {
|
||||
$http.request({
|
||||
async getTowCateList(type) {
|
||||
var that = this;
|
||||
$http
|
||||
.request({
|
||||
url: "book/medicaldes/typeList?label=" + type,
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data: {
|
||||
loadAnimate: 'none', // 请求加载动画
|
||||
loadAnimate: "none", // 请求加载动画
|
||||
// 'categoryId': id
|
||||
},
|
||||
// header: { //默认 无 说明:请求头
|
||||
// 'Content-Type': 'application/json'
|
||||
// },
|
||||
}).then(res => {
|
||||
console.log(res, '二级分类获取成功')
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res, "二级分类获取成功");
|
||||
if (res.code == 0 && res.result.length >= 0) {
|
||||
this.twoCateList = res.result
|
||||
this.twoCateList = res.result;
|
||||
if (this.curOneCateIndex == 0) {
|
||||
this.twoCateList = [{
|
||||
'dictType': "1",
|
||||
"dictValue": "学术思想"
|
||||
}, {
|
||||
'dictType': "2",
|
||||
"dictValue": "出版专著"
|
||||
}, {
|
||||
'dictType': "3",
|
||||
"dictValue": "学术平台"
|
||||
}]
|
||||
this.twoCateList = [
|
||||
{
|
||||
dictType: "1",
|
||||
dictValue: "学术思想",
|
||||
},
|
||||
{
|
||||
dictType: "2",
|
||||
dictValue: "出版专著",
|
||||
},
|
||||
{
|
||||
dictType: "3",
|
||||
dictValue: "学术平台",
|
||||
},
|
||||
];
|
||||
}
|
||||
if (this.curOneCateIndex == 2) {
|
||||
this.twoCateList = [{
|
||||
'dictType': "1",
|
||||
"dictValue": "吴门之歌"
|
||||
}, {
|
||||
'dictType': "2",
|
||||
"dictValue": "巴山夜语"
|
||||
}, {
|
||||
'dictType': "3",
|
||||
"dictValue": "吴门之徽"
|
||||
}]
|
||||
this.twoCateList = [
|
||||
{
|
||||
dictType: "1",
|
||||
dictValue: "吴门之歌",
|
||||
},
|
||||
{
|
||||
dictType: "2",
|
||||
dictValue: "巴山夜语",
|
||||
},
|
||||
{
|
||||
dictType: "3",
|
||||
dictValue: "吴门之徽",
|
||||
},
|
||||
];
|
||||
}
|
||||
if (this.curOneCateIndex == 3) {
|
||||
this.twoCateList = [{
|
||||
'dictType': "1",
|
||||
"dictValue": "学术贡献"
|
||||
}, {
|
||||
'dictType': "2",
|
||||
"dictValue": "抗疫纪实"
|
||||
}, {
|
||||
'dictType': "3",
|
||||
"dictValue": "吴门公益"
|
||||
}]
|
||||
this.twoCateList = [
|
||||
{
|
||||
dictType: "1",
|
||||
dictValue: "学术贡献",
|
||||
},
|
||||
{
|
||||
dictType: "2",
|
||||
dictValue: "抗疫纪实",
|
||||
},
|
||||
{
|
||||
dictType: "3",
|
||||
dictValue: "吴门公益",
|
||||
},
|
||||
];
|
||||
}
|
||||
this.getTitles(this.twoCateList[0].dictType)
|
||||
} else {
|
||||
this.twoCateList = []
|
||||
this.titleList = []
|
||||
}
|
||||
}).catch(e => {
|
||||
this.twoCateList = []
|
||||
this.titleList = []
|
||||
console.log(e)
|
||||
this.getTitles(this.twoCateList[0].dictType);
|
||||
|
||||
this.$nextTick(async () => {
|
||||
// await uni.createSelectorQuery().select('.uni-tabbar').boundingClientRect(function (rect) {
|
||||
// console.log(rect.height, '3333')
|
||||
|
||||
// // var height = 42 + rect.height + 10;
|
||||
// // that.scrollViewHeight = height;
|
||||
// // console.log(that.scrollViewHeight, '111111')
|
||||
// // that.$forceUpdate()
|
||||
// // console.log('元素高度2:', height);
|
||||
// }).exec();
|
||||
await uni
|
||||
.createSelectorQuery()
|
||||
.select(".cateList")
|
||||
.boundingClientRect(function (rect) {
|
||||
console.log(rect.height, "22222");
|
||||
|
||||
var height = 42 + rect.height + 20;
|
||||
that.scrollViewHeight = height;
|
||||
console.log(that.scrollViewHeight, "111111");
|
||||
that.$forceUpdate();
|
||||
console.log("元素高度2:", height);
|
||||
})
|
||||
.exec();
|
||||
});
|
||||
} else {
|
||||
this.twoCateList = [];
|
||||
this.titleList = [];
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
this.twoCateList = [];
|
||||
this.titleList = [];
|
||||
console.log(e);
|
||||
});
|
||||
},
|
||||
transformData(inputData) {
|
||||
const result = {};
|
||||
inputData.forEach(item => {
|
||||
const {
|
||||
letter
|
||||
} = item;
|
||||
inputData.forEach((item) => {
|
||||
const { letter } = item;
|
||||
if (!result[letter]) {
|
||||
result[letter] = [];
|
||||
}
|
||||
@@ -494,9 +637,9 @@
|
||||
// })
|
||||
// },
|
||||
getCateList(id) {
|
||||
id ? '' : id = 0
|
||||
this.twoCateList = []
|
||||
this.curTwoCateIndex = 0
|
||||
id ? "" : (id = 0);
|
||||
this.twoCateList = [];
|
||||
this.curTwoCateIndex = 0;
|
||||
// 0为获取顶级分类,其他为搜索下级分类,目前的逻辑,顶级是写死的,所以可能只会涉及到搜索第二级
|
||||
// $http.request({
|
||||
// url: "book/prescript/prescriptCategoryList",
|
||||
@@ -512,7 +655,7 @@
|
||||
// console.log(res, '脉穴分类获取成功')
|
||||
// if (res.code == 0 && res.list.length > 0) {
|
||||
// this.oneCateList = res.list
|
||||
this.getTowCateList(this.oneCateList[0].type)
|
||||
this.getTowCateList(this.oneCateList[0].type);
|
||||
// } else {
|
||||
// this.oneCateList = []
|
||||
// }
|
||||
@@ -524,15 +667,15 @@
|
||||
|
||||
// 放大图片
|
||||
previewImage(url) {
|
||||
console.log(url)
|
||||
console.log(url);
|
||||
uni.previewImage({
|
||||
urls: [url],
|
||||
longPressActions: {
|
||||
itemList: ['很抱歉,暂不支持保存图片到本地'],
|
||||
itemList: ["很抱歉,暂不支持保存图片到本地"],
|
||||
success: function (res) {
|
||||
// console.log(res,'+++++')
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
},
|
||||
// getSearch() {
|
||||
@@ -623,13 +766,46 @@
|
||||
plus.key.hideSoftKeybord();
|
||||
// #endif
|
||||
},
|
||||
components: {
|
||||
|
||||
},
|
||||
}
|
||||
components: {},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.u-grid-list {
|
||||
// height: 40rpx;
|
||||
}
|
||||
|
||||
.custom-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
// border: 1px solid #dadbde;
|
||||
// border-bottom: 0;
|
||||
|
||||
&.col-3 {
|
||||
.grid-item {
|
||||
min-width: 33.33%;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
&.col-4 {
|
||||
.grid-item {
|
||||
min-width: 25%;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.grid-item {
|
||||
// border-right: 1px solid #dadbde;
|
||||
// border-bottom: 1px solid #dadbde;
|
||||
padding: 10rpx 0;
|
||||
text-align: center;
|
||||
font-size: 30rpx;
|
||||
cursor: pointer;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
||||
.searchList {
|
||||
.item {
|
||||
font-size: 28rpx;
|
||||
@@ -645,15 +821,18 @@
|
||||
}
|
||||
|
||||
.contentBox {
|
||||
height: auto;
|
||||
height: calc(100% - 50px);
|
||||
|
||||
.oneCateList {
|
||||
padding: 10rpx;
|
||||
box-sizing: border-box;
|
||||
justify-content: space-between;
|
||||
|
||||
text {
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
width: 32%;
|
||||
padding: 20rpx 0;
|
||||
padding: 16rpx 0;
|
||||
font-size: 34rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
@@ -661,15 +840,16 @@
|
||||
.cur {
|
||||
background-color: #55aaff;
|
||||
color: #fff;
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
}
|
||||
|
||||
.twoCateList {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
margin-top: 20rpx;
|
||||
|
||||
.grid-text {
|
||||
padding: 30rpx 20rpx;
|
||||
padding: 10rpx 0rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@@ -687,19 +867,11 @@
|
||||
border-radius: 10rpx;
|
||||
background-color: #f8f9fa;
|
||||
|
||||
.titleItem {
|
||||
padding: 20rpx 10rpx;
|
||||
}
|
||||
|
||||
.JFtitleItem {
|
||||
background-color: #ffffff;
|
||||
padding: 20rpx 10rpx;
|
||||
width: 100%;
|
||||
border-bottom: 0.5px solid #f8f9fa;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.wmzhimg {
|
||||
@@ -709,13 +881,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.container {
|
||||
padding: 10rpx;
|
||||
min-height: 100vh;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.search_box {
|
||||
margin: 0 auto;
|
||||
overflow: hidden;
|
||||
@@ -733,17 +898,16 @@
|
||||
padding: 0upx 40upx;
|
||||
background-color: #fff;
|
||||
border-radius: 20upx;
|
||||
box-shadow: 0 0px 10px 1px #54a96633;
|
||||
box-shadow: 0 0px 10px 1px #3ab3ae33;
|
||||
}
|
||||
|
||||
.prompt {
|
||||
color: #838383;
|
||||
font-size: 24rpx;
|
||||
|
||||
}
|
||||
|
||||
.icon_search {
|
||||
background-image: url('@/static/icon/map_ic_search.png');
|
||||
background-image: url("@/static/icon/map_ic_search.png");
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
@@ -770,7 +934,36 @@
|
||||
height: 100rpx;
|
||||
}
|
||||
|
||||
.android-bottom-space {
|
||||
height: 120rpx;
|
||||
.scroll-Y {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.scroll-view_H {
|
||||
white-space: nowrap;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.scroll-view-item {
|
||||
// height: 300rpx;
|
||||
// line-height: 300rpx;
|
||||
// text-align: center;
|
||||
// font-size: 36rpx;
|
||||
}
|
||||
|
||||
.scroll-view-item_H {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
// height: 300rpx;
|
||||
// line-height: 300rpx;
|
||||
// text-align: center;
|
||||
// font-size: 36rpx;
|
||||
}
|
||||
|
||||
.titleList {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.titleList2 {
|
||||
height: calc(100% - 170rpx);
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user