123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- <template>
- <view>
- <view class="header-nav" :style="{height: `calc(88rpx + ${statusBarHeight}px)`,paddingTop: statusBarHeight + 'px'}">
- <view class="arrow-left" :style="{top: statusBarHeight + 'px'}" @click="goBack"><u-icon name="arrow-left" size="24"></u-icon></view>
- <view class="header-title" :style="{height:menuButtonH+'px',lineHeight:menuButtonH+'px'}">投诉反馈</view>
- </view>
- <view class="container" :style="{paddingTop: `calc(88rpx + ${statusBarHeight}px)`}">
- <view class="list-item title">{{pageIndex==0 ? '请选择反馈类型':'请选择'}}</view>
- <view class="list-item" v-for="(item, index) in feedbackItems" :key="index" @click="handleClick(item,index)">
- {{ item.complaintTypeName }}
- </view>
- <view class="list-item" @click="goBack">
- 返回上一层
- </view>
- </view>
- </view>
- </template>
- <script>
- import{ getTypeTree, complaintRecord } from "@/api/course.js"
- export default {
- data() {
- return {
- statusBarHeight: uni.getSystemInfoSync().statusBarHeight,
- menuButtonH: 45,
- pageIndex: 0,
- list:[],
- feedbackItems: [],
- userId:'',
- courseId: '',
- videoId:''
- };
- },
- onLoad(option) {
- this.userId = option.userId || ''
- this.courseId = option.courseId || ''
- this.videoId = option.videoId || ''
- this.getMenuButton()
- this.getList()
- },
- methods: {
- getMenuButton(){
- const menuButtonInfo = uni.getMenuButtonBoundingClientRect()
- this.menuButtonH = menuButtonInfo.height
- },
- goBack() {
- // 返回上一层逻辑
- if(this.pageIndex == 0){
- uni.navigateBack();
- }else {
- this.pageIndex = 0
- this.feedbackItems = this.list
- }
- },
- handleClick(item,index) {
- if(this.pageIndex ==0) {
- this.feedbackItems = this.list[index].childrenType || [];
- this.pageIndex = 1;
- } else if(this.pageIndex ==1){
- const param = {
- userId: this.userId,
- complaintTypeId: item.complaintTypeId,
- complaintContent: item.complaintContent,
- courseId: this.courseId,
- videoId: this.videoId,
- }
- complaintRecord(param).then(res=>{
- uni.showModal({
- title: '',
- content: '我们已收到您的反馈,谢谢',
- showCancel: false
- });
- })
- }
- },
- getList(){
- getTypeTree().then(res=>{
- if(res.code == 200) {
- this.list = res.data
- this.pageIndex = 0
- this.feedbackItems = this.list
- }
- })
- }
- }
- };
- </script>
- <style scoped lang="scss">
- .header-nav {
- height: 88rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- overflow: hidden;
- background-color: #fff;
- box-sizing: border-box;
- width: 100%;
- position: fixed;
- top: 0;
- left: 0;
- .header-title {
- flex: 1;
- text-align: center;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- font-family: PingFang SC,PingFang SC;
- font-weight: 500;
- font-size: 15px;
- color: #000;
- box-sizing: border-box;
- }
- }
- .arrow-left {
- position: absolute;
- left: 24rpx;
- height: 88rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- overflow: hidden;
- }
- .list-item {
- background-color: #fff;
- padding: 24rpx;
- border-bottom: 1rpx solid #f4f4f4;
- font-size: 15px;
- color: #333;
- }
- .title {
- background-color: #f4f4f4;
- }
- </style>
|