wangguoyu hai 1 día
pai
achega
452360a697
Modificáronse 2 ficheiros con 131 adicións e 40 borrados
  1. 51 0
      pages/my/banbenConfirmDialog.vue
  2. 80 40
      pages/my/sxtkPage.vue

+ 51 - 0
pages/my/banbenConfirmDialog.vue

@@ -0,0 +1,51 @@
+<!-- 大弹窗 三~四行文字 -->
+<template>
+ <uni-popup ref="tipBigPopup" :animation="false" :is-mask-click="false"
+  mask-background-color="rgba(255, 255, 255, 0.6);">
+  <view class="ezy-tip-dialog tip-big-dialog">
+  <view class="tip-content-box">
+   <view class="tip-title">{{title}}</view>
+   <view class="tip-content" v-if="content">{{content}}</view>
+   <view class="tip-btn-box">
+    <view class="not-confirm-btn" @click="handleClose"></view>
+    <view class="confirm-btn" @click="confirmBtn"></view>
+   </view>
+  </view>
+  </view>
+ </uni-popup>
+</template>
+
+<script setup>
+ import { ref } from 'vue';
+ const props = defineProps({
+   title: {
+     type: String,
+     default: '提示'
+   },
+   content: {
+     type: String,
+     default: ''
+   },
+ });
+ const tipBigPopup = ref(null); // 索引
+ const $emit = defineEmits(['confirm-btn'])
+ // 打开弹窗
+ function handleShow() {
+  tipBigPopup.value.open();
+ }
+ // 取消
+ function handleClose() {
+  tipBigPopup.value.close();
+ }
+ // 确认
+ function confirmBtn(){
+  $emit('confirm-btn');
+  tipBigPopup.value.close();
+ }
+ defineExpose({
+   handleShow
+  })
+</script>
+
+<style>
+</style>

+ 80 - 40
pages/my/sxtkPage.vue

@@ -1,4 +1,3 @@
-
 <template>
 	<view>
 		<view class="icon-title-navBar-box">
@@ -6,83 +5,124 @@
 		</view>
 		<view style="display: flex;justify-content: space-around">
 			<view v-for="(item,index) in jiaocaiData" :key="index">
-				<view @click="selectNianji(item,index)"
-				:class="{'active': currentIndex === index}"
-				>{{item.nianji}}</view>
+				<view @click="selectNianji(item,index)" :class="{'active': currentNianjiName == item.nianji}">
+					{{item.nianji}}
+				</view>
 			</view>
 		</view>
 		<view>
-			<view v-for="(item,index) in currentBanbenList" :key="index"
-				:class="{'active': currentBanbenIndex === index}"
-					@click="selectBanben(index)"
-			>
+			<view v-for="(item,index) in currentBanbenList" :key="index" :class="{'active': banbenName == item}"
+				@click="selectBanben(item,index)">
 				{{item}}
 			</view>
 		</view>
 		<view class="grade-line"></view>
-		<button class="grade-confirm-btn" @click="handleConfirm"></button>
+		<button class="grade-confirm-btn" @click="handleConfirm">确认</button>
+		<banbenConfirmDialog ref="jiaocaiRef" @confirm-btn="jcConfirm" :content="jcContent"></banbenConfirmDialog>
+				<CustomTabBar ></CustomTabBar>
 	</view>
 </template>
 
 <script setup>
-	import { onLoad } from '@dcloudio/uni-app';
-	import { selectTiku } from '@/api/my.js'
-	import { ref } from "vue";
-	
+	import {
+		onLoad
+	} from '@dcloudio/uni-app';
+		import CustomTabBar from '@/components/custom-tabbar/custom-tabbar.vue';
+	import {
+		selectTiku
+	} from '@/api/my.js'
+	import {
+		toast,
+		getUserIdentity
+	} from "@/utils/common";
+	import {
+		ref
+	} from "vue";
+	import banbenConfirmDialog from './banbenConfirmDialog.vue';
 	let jiaocaiData = ref(null)
 	let currentBanbenList = ref([])
-		let currentIndex = ref(0)
-		let currentBanbenIndex = ref(0)
-	function selectNianji(item,index){
-			currentIndex.value = index
-			currentBanbenList.value = item.banbenList
-			currentBanbenIndex.value = 0
+
+	let currentNianjiName = ref(null)
+	let currentBanbenIndex = ref(null)
+	const banbenName = ref(null)
+	const jiaocaiRef = ref(null);
+	const jcContent = ref(null);
+
+	function selectNianji(item, index) {
+		currentNianjiName.value = item.nianji
+
+		currentBanbenList.value = item.banbenList
+		banbenName.value = ''
+
 	}
-		function selectBanben(index) {
-			currentBanbenIndex.value = index
+
+	function jcConfirm() {
+		uni.navigateTo({
+			url: '/pages/pdfPage/pdfPage?banben=' + banbenName.value + '&nianji=' + currentNianjiName.value
+		});
+	}
+
+	function selectBanben(item, index) {
+
+		console.log('item', item);
+		if (!currentNianjiName.value) {
+			toast("请选择年级")
+			return false
 		}
+
+		banbenName.value = item
+
+	}
+
 	function handleBack() {
 		uni.redirectTo({
 			url: '/pages/my/index'
 		});
 	}
-	
-	function handleConfirm(){
+
+	function handleConfirm() {
 		// 确认逻辑
+		if (banbenName.value && currentNianjiName.value) {
+			jcContent.value = "用户你好,鹅状元将为您随机生成《" + banbenName.value + "》100道试题."
+			console.log('jcContent.value', jcContent.value);
+			jiaocaiRef.value.handleShow();
+		} else {
+			toast("请选择年级和对应的教学版本")
+			return false
+		}
 	}
-	
-	function getInfo(){
-		selectTiku({}).then(res=>{
-			jiaocaiData.value = [
-				{
+
+	function getInfo() {
+		selectTiku({}).then(res => {
+			jiaocaiData.value = [{
 					"nianji": "L1",
 					"banbenList": ["人教版"]
 				},
 				{
 					"nianji": "L2",
-					"banbenList": ["人教版222","人教版222333"]
+					"banbenList": ["人教版222", "人教版222333"]
 				}
 			]
 			//jiaocaiData.value = res.data
 			// 默认显示第一个年级的版本列表
-			if(jiaocaiData.value && jiaocaiData.value.length > 0){
+			if (jiaocaiData.value && jiaocaiData.value.length > 0) {
 				currentBanbenList.value = jiaocaiData.value[0].banbenList
 			}
 		})
 	}
-	
+
 	onLoad((options) => {
-		if(options.nianjiIndex && options.banbenIndex){
-					currentIndex.value = Number(options.nianjiIndex)
-					currentBanbenIndex.value = Number(options.banbenIndex)
-				}
+		if (options.banben && options.nianji) {
+			currentNianjiName.value = options.nianji
+			banbenName.value = options.banben
+		}
 		getInfo()
 	})
 </script>
 
 <style>
-.active {
-	background-color: #42b983;
-	color: #fff;
-}
-</style>
+	.active {
+		background-color: #42b983;
+		color: #fff;
+	}
+</style>