diff --git a/.env.development b/.env.development
index 1306b8df..e476c013 100644
--- a/.env.development
+++ b/.env.development
@@ -16,5 +16,19 @@ VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7001'
# h5专用地址
# 王洋洋
+<<<<<<< HEAD
#VITE_APP_BASE_H5_API_Url = 'http://25.64.16.140:9604'
-VITE_APP_BASE_H5_API_Url = 'https://aitstest.jlbank.com.cn:7001'
\ No newline at end of file
+VITE_APP_BASE_H5_API_Url = 'https://aitstest.jlbank.com.cn:7001'
+#岳世凯
+#VITE_APP_BASE_H5_API_Url = 'http://25.64.16.141:9701'
+
+=======
+# VITE_APP_BASE_H5_API_Url = 'http://25.64.16.140:9604'
+# 任东
+# VITE_APP_BASE_H5_API_Url = 'http://25.64.16.130:9602'
+# 线上
+VITE_APP_BASE_H5_API_Url = 'http://25.18.122.65:7001'
+
+# VITE_APP_BASE_H5_API_Url_TRAAPP = 'http://25.18.122.65:7001'
+VITE_APP_BASE_H5_API_Url_TRASTUDY = 'http://25.64.16.130:9602'
+>>>>>>> 05085e8e3e537d6cc35d677431086afd747b4eee
diff --git a/src/api/dialog.js b/src/api/dialog.js
index 38de539e..a4e2bdf7 100644
--- a/src/api/dialog.js
+++ b/src/api/dialog.js
@@ -9,4 +9,14 @@ export const queryHotQuestionApi = (data) => {
method: 'post',
data
});
+};
+// 获取问答历史
+
+// 问答反馈
+export const insertTraAskFeedback = (data) => {
+ return request({
+ url: '/traask/traAskFeedback/insertTraAskFeedback',
+ method: 'post',
+ data
+ });
};
\ No newline at end of file
diff --git a/src/api/examination.js b/src/api/examination.js
index 52225e08..e788a707 100644
--- a/src/api/examination.js
+++ b/src/api/examination.js
@@ -12,5 +12,34 @@ export const startTraExamPapersInfo = (data) => {
data
});
};
+// 提交试卷
+export const commitPaperExam = (data) => {
+ return request({
+ url: base_url + '/traExamPapers/commitPaperExam',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
+
+// 试卷考试查分
+export const queryPaperExamScore = (data) => {
+ return request({
+ url: base_url + '/traExamPapers/queryPaperExamScore',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
+// ↓↓↓↓↓↓↓↓↓课程考试↓↓↓↓↓↓↓↓
+
+export const startExamByCrs = (data) => {
+ return request({
+ url: base_url + '/traCrsPapers/startExamByCrs',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
\ No newline at end of file
diff --git a/src/api/favorites.js b/src/api/favorites.js
new file mode 100644
index 00000000..70426dd6
--- /dev/null
+++ b/src/api/favorites.js
@@ -0,0 +1,49 @@
+import request from '@/api/request'
+const base_url = '/trastudy'
+
+// 课程收藏分页查询
+export const queryTraPersonalCollectionCrsPaging = (data) => {
+ return request({
+ url: base_url + '/traPersonalCollection/queryTraPersonalCollectionCrsPaging',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
+
+// 任务收藏分页查询
+export const queryTraPersonalCollectionTaskPaging = (data) => {
+ return request({
+ url: base_url + '/traPersonalCollection/queryTraPersonalCollectionTaskPaging',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
+
+// 根据收藏ID删除收藏
+export const deleteTraPersonalCollectionById = (data) => {
+ return request({
+ url: base_url + '/traPersonalCollection/deleteTraPersonalCollectionById',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
+
+
+
+/*
+新增任务收藏
+入参:
+ collectTyp 收藏类型 必须 String 01--课程,02--任务
+ collectBusId 收藏业务ID 必须 String
+**/
+export const insertTraPersonalCollectionTask = (data) => {
+ return request({
+ url: base_url + '/traPersonalCollection/insertTraPersonalCollectionTask',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
\ No newline at end of file
diff --git a/src/api/learningTasks.js b/src/api/learningTasks.js
new file mode 100644
index 00000000..63794ae1
--- /dev/null
+++ b/src/api/learningTasks.js
@@ -0,0 +1,13 @@
+import request from '@/api/request'
+const base_url = '/trastudy'
+
+// 查询所有、未完成、已完成的任务(分页)
+export const queryAllTraTaskInfoByUserId = (data) => {
+ return request({
+ url: base_url + '/traTaskInfo/queryAllTraTaskInfoByUserId',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
+
diff --git a/src/api/messageNotification.js b/src/api/messageNotification.js
new file mode 100644
index 00000000..72fa6ef2
--- /dev/null
+++ b/src/api/messageNotification.js
@@ -0,0 +1,34 @@
+import request from '@/api/request'
+const base_url = '/trastudy'
+
+// 查询当前用户的所有消息通知 (分页)
+export const queryTraPersonalMessageNoticePaging = (data) => {
+ return request({
+ url: base_url + '/traPersonalMessageNotice/queryTraPersonalMessageNoticePaging',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
+
+
+// 读取单一消息
+export const readNotice = (data) => {
+ return request({
+ url: base_url + '/traPersonalMessageNotice/readNotice',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
+
+
+// 一键读取所有消息(不展示)
+export const oneTimeRead = (data) => {
+ return request({
+ url: base_url + '/traPersonalMessageNotice/oneTimeRead',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
\ No newline at end of file
diff --git a/src/api/request.js b/src/api/request.js
index d78bf0f1..e8373f95 100644
--- a/src/api/request.js
+++ b/src/api/request.js
@@ -5,16 +5,16 @@ import common from '@/common/common.js'
const ENV = import.meta.env
-export const get_base_url = url => {
+export const get_base_url = (url = '') => {
if (ENV.MODE === 'development') { // 开发环境
// H5必须用非https,手机端必须用https
// #ifdef H5
- return ENV.VITE_APP_BASE_H5_API_Url || ENV.VITE_APP_BASE_API_Url
- const baseUrl = ENV.VITE_APP_BASE_API_Url
- if (baseUrl.startsWith('https')) {
- return baseUrl.replace('https', 'http')
+ if (url) {
+ let _str = (url.split('/')[0] || url.split('/')[1])?.toUpperCase()
+ return ENV[`VITE_APP_BASE_H5_API_Url_${_str}`] || ENV.VITE_APP_BASE_H5_API_Url || ENV.VITE_APP_BASE_API_Url
+ } else {
+ return ENV.VITE_APP_BASE_H5_API_Url || ENV.VITE_APP_BASE_API_Url
}
- return baseUrl
// #endif
// #ifdef APP-PLUS
return ENV.VITE_APP_BASE_API_Url
@@ -50,7 +50,7 @@ export const goto_login_fun = (from = 'http') => {
} else {
common.navigateTo('/pages/login/login')
}
-
+
}).finally(() => {
no_login_show_modal_state = false
})
@@ -80,6 +80,8 @@ export default function request({
headers_base['summary'] = token // 让每个请求携带令牌
}
let that = this
+
+
return new Promise((resolve, reject) => {
uni.request({
url: `${baseUrl || base_url}${url}`,
diff --git a/src/api/testingHall.js b/src/api/testingHall.js
index 7e0b47c1..01062cba 100644
--- a/src/api/testingHall.js
+++ b/src/api/testingHall.js
@@ -9,4 +9,5 @@ export const queryTraExamPapersPage = (data) => {
method: 'post',
data
});
-};
\ No newline at end of file
+};
+
diff --git a/src/api/wrong_question_record.js b/src/api/wrong_question_record.js
new file mode 100644
index 00000000..26e60fef
--- /dev/null
+++ b/src/api/wrong_question_record.js
@@ -0,0 +1,22 @@
+import request from '@/api/request'
+const base_url = '/traexam'
+
+// 错题本列表页
+export const queryTraMistakesCollectionPaging = (data) => {
+ return request({
+ url: base_url + '/traMistakesCollection/queryTraMistakesCollectionPaging',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
+
+// 错题订正
+export const mistakesCorrect = (data) => {
+ return request({
+ url: base_url + '/traMistakesCollection/mistakesCorrect',
+ method: 'post',
+ toastErrors: true,
+ data
+ });
+};
diff --git a/src/common/imgSvg.ts b/src/common/imgSvg.ts
index 267ad39f..b759e79b 100644
--- a/src/common/imgSvg.ts
+++ b/src/common/imgSvg.ts
@@ -5,9 +5,9 @@ export const optionSuccessIcon = (color : string) : string => {
return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`;
};
-export const optionErrorIcon = () : string => {
+export const optionErrorIcon = (color: string='#F5212D') : string => {
const svgXml = `
-
+
`.trim();
return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`;
};
@@ -17,4 +17,18 @@ export const examinationSheetIcon = () : string => {
`.trim();
return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`;
-};
\ No newline at end of file
+};
+
+export const markIcon = (color: string='#ABABAB') : string => {
+ const svgXml = `
+
+ `.trim();
+ return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`;
+};
+
+export const feedbackIcon = () : string => {
+ const svgXml = `
+
+ `.trim();
+ return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgXml)}`;
+};
diff --git a/src/components/examination/characters-subject.vue b/src/components/examination/characters-subject.vue
index 8bf1c12e..03e8cc6a 100644
--- a/src/components/examination/characters-subject.vue
+++ b/src/components/examination/characters-subject.vue
@@ -11,6 +11,10 @@
+
+
+
+
@@ -21,7 +25,6 @@
-
\ No newline at end of file
diff --git a/src/pages.json b/src/pages.json
index fdc554a0..b7ca8b0a 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -199,6 +199,15 @@
}
}
},
+ {
+ "path": "pages/examination/result",
+ "style": {
+ "navigationBarTitleText": "考试结果",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+ },
{
"path": "pages/practice/index",
"style": {
@@ -208,6 +217,24 @@
}
}
},
+ {
+ "path": "pages/learningTasks/index",
+ "style": {
+ "navigationBarTitleText": "学习任务",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+ },
+ {
+ "path": "pages/learningTasks/details",
+ "style": {
+ "navigationBarTitleText": "学习详情",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+ },
{
"path": "pages/course/index",
"style": {
diff --git a/src/pages/course/components/talkingItem.vue b/src/pages/course/components/talkingItem.vue
index a4759eb1..737e9149 100644
--- a/src/pages/course/components/talkingItem.vue
+++ b/src/pages/course/components/talkingItem.vue
@@ -32,6 +32,9 @@
+
+ 举例:{{ dataInfo.knoExampie }}
+
diff --git a/src/pages/course/components/touchBtn.vue b/src/pages/course/components/touchBtn.vue
index ccee59f5..435ba539 100644
--- a/src/pages/course/components/touchBtn.vue
+++ b/src/pages/course/components/touchBtn.vue
@@ -1,24 +1,20 @@
- 按住说话
+ 按住说话
-
+
-
-
-
+
+
+
@@ -29,7 +25,7 @@
松开发送
- 取消
+ 取消
@@ -40,348 +36,383 @@
-
+
+
\ No newline at end of file
diff --git a/src/pages/course/index.vue b/src/pages/course/index.vue
index 5392536b..eabe7308 100644
--- a/src/pages/course/index.vue
+++ b/src/pages/course/index.vue
@@ -279,7 +279,7 @@ import { onShow } from "@dcloudio/uni-app"
}
// 跳转 课程详情
const toCourseDetail = (item) => {
- common.navigateTo('/pages/courseDetail/index?crsNum=' + item.crsNum)
+ common.navigateTo('/pages/courseDetail/index?crsNum=' + item.crsNum + '&crsId=' + item.crsId)
// common.navigateTo('/pages/course/study?crsNum=' + item.crsNum)
}
onMounted(()=>{
diff --git a/src/pages/courseDetail/components/comment.vue b/src/pages/courseDetail/components/comment.vue
index 9dd8887b..cd0d01ba 100644
--- a/src/pages/courseDetail/components/comment.vue
+++ b/src/pages/courseDetail/components/comment.vue
@@ -148,7 +148,6 @@
keyboardHeight = Math.max(0, keyboardHeight - safeAreaBottomHeight); // 避免负数
}
popup_input_bottom.value = `${keyboardHeight}px`;
- console.log(res);
});
})
}
diff --git a/src/pages/courseDetail/index.vue b/src/pages/courseDetail/index.vue
index e79e3d3f..5d160686 100644
--- a/src/pages/courseDetail/index.vue
+++ b/src/pages/courseDetail/index.vue
@@ -15,40 +15,40 @@
-
+
知识点
{{ form.pgrphNum || 0 }}
-
-
+
已学
{{ form.styParaGraphNum || 0 }}
-
-
+
考试排行榜
-
-
-
-
-
+
+
+
+
-
+
-
+ :inactive-style="{ color: '#666666', 'font-size': '30rpx' }"
+ >
@@ -61,69 +61,52 @@
-
-
+
-
- 去学习
+
+ 去学习
去练习
去考试
- 发布评价
+
+ 发布评价
+
@@ -230,8 +218,8 @@
left: 25%;
width: 40%;
height: 40%;
- border-top: 4rpx solid #FFFFFF;
- border-left: 4rpx solid #FFFFFF;
+ border-top: 4rpx solid #ffffff;
+ border-left: 4rpx solid #ffffff;
transform: rotate(-45deg);
}
}
@@ -257,7 +245,6 @@
height: 100%;
display: flex;
flex-direction: column;
-
}
.body-head {
@@ -276,7 +263,6 @@
}
}
-
.head-title {
border-radius: 24rpx 24rpx 0rpx 0rpx;
// height: 162rpx;
@@ -310,7 +296,7 @@
display: flex;
.examination {
- color: #0066FF;
+ color: #0066ff;
.back-icon {
position: relative;
@@ -331,8 +317,8 @@
left: 25%;
width: 40%;
height: 40%;
- border-top: 4rpx solid #0066FF;
- border-left: 4rpx solid #0066FF;
+ border-top: 4rpx solid #0066ff;
+ border-left: 4rpx solid #0066ff;
transform: rotate(135deg);
}
}
@@ -345,7 +331,6 @@
padding-right: 16rpx;
padding-top: 20rpx;
padding-bottom: 245rpx;
-
}
.body-tab {
@@ -374,7 +359,7 @@
padding-top: 37rpx;
justify-content: space-around;
background-color: #ffffff;
- border: 2rpx solid #E5E5E5;
+ border: 2rpx solid #e5e5e5;
z-index: 1000;
:deep(.uv-button-wrapper) {
@@ -405,8 +390,6 @@
height: 30rpx;
}
-
-
.learn {
color: #1dd17a;
}
@@ -419,4 +402,4 @@
font-weight: 600;
color: #000000;
}
-
\ No newline at end of file
+
diff --git a/src/pages/courseDetail/submit.vue b/src/pages/courseDetail/submit.vue
index aebf1d67..6f4cee57 100644
--- a/src/pages/courseDetail/submit.vue
+++ b/src/pages/courseDetail/submit.vue
@@ -36,8 +36,7 @@
提问
-
@@ -74,7 +73,7 @@
const sliderChange = (event) => {
formData.bbsGrade = event.detail.value
}
-
+
const submit = () => {
if (formData.bbsContent === '') {
if (formData.bbsTag == 'SUG') {
@@ -87,9 +86,7 @@
common.msg('发表成功')
setTimeout(() => {
uni.$emit('refresh_comment_data')
- if(from.value === 'study'){
- } else {
- }
+ if (from.value === 'study') {} else {}
common.navigateBack()
}, 500)
})
@@ -253,6 +250,7 @@
.back_div {
// margin-right: 10rpx;
padding: 15rpx;
+
// background-color: red;
.back-icon {
position: relative;
diff --git a/src/pages/examination/components/dialog.vue b/src/pages/examination/components/dialog.vue
new file mode 100644
index 00000000..e01a4d33
--- /dev/null
+++ b/src/pages/examination/components/dialog.vue
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/examination/components/feedback.vue b/src/pages/examination/components/feedback.vue
new file mode 100644
index 00000000..9240de2a
--- /dev/null
+++ b/src/pages/examination/components/feedback.vue
@@ -0,0 +1,176 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/examination/index-old.vue b/src/pages/examination/index-old.vue
deleted file mode 100644
index 335e4571..00000000
--- a/src/pages/examination/index-old.vue
+++ /dev/null
@@ -1,201 +0,0 @@
-
-
-
-
-
- 这里是练习名称
-
-
-
-
-
-
- 答题进度 2/10
-
-
- 剩余时间
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/pages/examination/index.vue b/src/pages/examination/index.vue
index 8af7d10f..9f4760af 100644
--- a/src/pages/examination/index.vue
+++ b/src/pages/examination/index.vue
@@ -2,7 +2,7 @@
-
+
{{paperData.papersName}}
@@ -23,7 +23,6 @@
:height="8">
-
@@ -31,12 +30,12 @@
-
+
+ :activeVoiceId="activeVoiceId" :voicePathValue="voicePathValue"
+ @subject_click="subject_click">
@@ -44,9 +43,9 @@
-
+
-
+
答题卡
@@ -55,29 +54,33 @@
custom-style="color:#0066FF;borderRadius:16rpx;height:92rpx;"
@click="button_tab(-1)">
-
-
+
-
@@ -84,6 +84,10 @@
+
+
+
+
@@ -101,6 +105,7 @@
import common from '@/common/common';
import TouchBtn from '@/pages/course/components/touchBtn.vue'
import TalkingItem from './components/talking-item.vue';
+ import PreviewVue from './components/preview.vue';
import {
useSocketStore
} from "@/store/socket.js"
@@ -128,8 +133,12 @@
commonUploadVoiceFile
} from "@/api/common.js"
import {
- queryHotQuestionApi
+ queryHotQuestionApi,
+ insertTraAskFeedback
} from "@/api/dialog.js"
+ import Feedback from './components/feedback.vue'
+ import History from './components/history.vue'
+
const {
statusBarHeight
} = uni.getWindowInfo()
@@ -141,6 +150,7 @@
SocketObj
} = storeToRefs(socketStore)
+ const feedbackRef = ref()
const userInfo = ref(getUserInfo())
const questionList = ref([
// '对公小程序开户流程?',
@@ -275,7 +285,7 @@
return
}
if (commond === 'ASK-STOP') {
- // console.log('停止回答标记!')
+ console.log('停止回答标记!')
stopAnswerCallBack.value && stopAnswerCallBack.value(askData.value)
setTimeout(() => {
stopAnswerCallBack.value = null
@@ -354,10 +364,18 @@
}
const stopAnswerCallBack = ref(null)
- const talkItemEvents = (type, data, id = '') => {
+ const talkItemEvents = ({type, data, id}) => {
switch (type) {
case 'reAnswer':
console.log('重新提问回答')
+ // 停止获取
+ sendMessage({
+ "commond": 'ASK-STOP',
+ "body": {
+ reqBatch: reqBatch.value,
+ seqNo: seqNo.value,
+ }
+ })
sendMessage({
"commond": 'ASK',
"body": data.askData
@@ -369,14 +387,6 @@
// "body": $data
// })
// }
- // // 停止获取
- // sendMessage({
- // "commond": 'ASK-STOP',
- // "body": {
- // reqBatch: reqBatch.value,
- // seqNo: seqNo.value,
- // }
- // })
break;
case 'stop':
console.log('停止获取数据')
@@ -394,10 +404,17 @@
console.log('播放/暂停')
activeVoiceTalkingItemId.value = id
break;
+ case 'feedback':
+ feedbackRef.value.open(data)
+ break;
default:
break;
}
}
+ const historyRef = ref(null)
+ const showHistory = () => {
+ historyRef.value.open()
+ }
const routerTo = (type) => {
switch (type) {
case 'AI学':
@@ -546,8 +563,10 @@
return
}
})
+ const previewRef = ref()
onMounted(() => {
loadData()
+ // previewRef.value.open()
})
const refreshData = () => {
@@ -558,12 +577,14 @@
const setHeight = (res) => {
keyboardHeight.value = res.height +'px'
}
+ //#ifdef APP-PLUS
onHide(() => {
uni.offKeyboardHeightChange(setHeight)
})
onShow(() => {
uni.onKeyboardHeightChange(setHeight)
})
+ // #endif
onUnload(() => {
watchFlag.value = 1
socketStore?.closeSocket()
diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
index 58edb5d9..92e0d127 100644
--- a/src/pages/index/index.vue
+++ b/src/pages/index/index.vue
@@ -89,11 +89,11 @@
AI问答
-
+
AI陪练
-
+
学习任务
@@ -130,7 +130,7 @@
-
+
@@ -164,7 +164,7 @@
-
+
@@ -197,7 +197,7 @@
-
+
@@ -389,8 +389,8 @@
common.navigateTo('/pages/search/search')
}
// 进入课程详情页
- const goto_course_detail = (crsNum) => {
- common.navigateTo('/pages/courseDetail/index?crsNum=' + crsNum)
+ const goto_course_detail = (crsId) => {
+ common.navigateTo('/pages/courseDetail/index?crsId=' + crsId)
}
const scrolltolower = () => {
common.navigateTo('/pages/index/dialog', {
diff --git a/src/pages/learningTasks/components/list-item.vue b/src/pages/learningTasks/components/list-item.vue
new file mode 100644
index 00000000..111f74ef
--- /dev/null
+++ b/src/pages/learningTasks/components/list-item.vue
@@ -0,0 +1,232 @@
+
+
+
+
+
+
+
+ 进行中
+
+
+ 已完成
+
+
+ 已超时
+
+
+
+
+ {{item.taskName}}
+
+
+ 起止时间:{{item.startTm?.substr(0, 10)}}至{{item.endTm?.substr(0, 10)}}
+
+
+
+ 完成人数:{{item.taskFinishSums ?? 0}}/{{item.taskSums ?? 0}}
+
+
+ 进度:2/4门课程
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/learningTasks/details.vue b/src/pages/learningTasks/details.vue
new file mode 100644
index 00000000..02409e35
--- /dev/null
+++ b/src/pages/learningTasks/details.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/learningTasks/index.vue b/src/pages/learningTasks/index.vue
new file mode 100644
index 00000000..5165d05e
--- /dev/null
+++ b/src/pages/learningTasks/index.vue
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+
+ 学习任务
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/messageNotification/index.vue b/src/pages/messageNotification/index.vue
index 7cc98cf3..e3a17740 100644
--- a/src/pages/messageNotification/index.vue
+++ b/src/pages/messageNotification/index.vue
@@ -15,36 +15,34 @@
suffixIcon="search" :customStyle="customStyle" :suffixIconStyle="suffixIconStyle">
-
- 下拉显示
+
+ v-for="(item, index) in data_list">
-
+
- 新任务提醒
+ {{item.noticeTitle}}
- 2025-05-05
+ {{item.ctTime.substr(0, 16)}}
-
- 您的学习任务
+
+ {{item.noticeContent}}
- {{item}}
+
@@ -70,8 +68,9 @@
onLoad
} from '@dcloudio/uni-app'
import {
- queryTraCrsBbsInfoByCrsId
- } from '@/api/courseDetail.js';
+ queryTraPersonalMessageNoticePaging
+ } from '@/api/messageNotification.js';
+
const customStyle = {
backgroundColor: "#ffffff",
paddingLeft: "40rpx",
@@ -135,8 +134,7 @@
console.log(status.value, '阿斯顿撒');
setTimeout(() => {
- queryTraCrsBbsInfoByCrsId({
- crsId: 'CRS0250181220722025070408313900000018729',
+ queryTraPersonalMessageNoticePaging({
page: page.value,
limit: limit
}).then(res => {
diff --git a/src/pages/preview/index.vue b/src/pages/preview/index.vue
index f9f00e34..0e8e0d65 100644
--- a/src/pages/preview/index.vue
+++ b/src/pages/preview/index.vue
@@ -13,7 +13,7 @@
:scrollable="false" line-color="#0066FF"
:inactive-style="{ color: '#333333', fontSize: '30rpx', fontWeight:'600'}"
:activeStyle="{color:'#0066FF',fontSize:'30rpx', fontWeight:'600'}"
- :lineColor="`url(${lineBg}) 10% 10%`">
+ :lineColor="`url(${LineBg}) 10% 10%`">
@@ -48,8 +48,9 @@
} from '@/api/courseDetail.js';
import common from '@/common/common';
const statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
- const lineBg =
- "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAABL0lEQVQ4T6XSv0uCURTG8e9jgpRNDS1BU1sELUFLQVM1tgQFtcR7A8m1LQqaLGhOkQKH/o5aKiiHlgiE0K1oCYLAMk9ov/RF8e313u2ew4dzzzmi2+NsA9gH3hCr6srzbAJxDkS/nbvwYNJilMkDow1FXYUHneWAlV/MqN3ZcKCzHWDb164MGa3/H/Qshdj0YbdUmORIL8HBNRsgShZjoQkznvioY/e19wCgCccSsAcM+bBnjHmyuvx5bw8mrJ93FoEkYrzFej0g5kjrpjH2BTrro8oIYhgYQ0xhTCPibfb0ggjLHKrojwvPEogDIBZgycsYKQrscqpKq3zh7BXo7YBVgRMibLWqqvnLzh6BwTZgESNHD8edoL+hOJupT9CII0oYJcQ14oy0CgHa0JTyCeBLVNeWygE5AAAAAElFTkSuQmCC";
+ import {
+ LineBg
+ } from '@/enum.js'
const courseRef = ref(null);
const aiSparringRef = ref(null);
const tabAct = ref(0);
diff --git a/src/pages/testingHall/details.vue b/src/pages/testingHall/details.vue
index b7f66dd4..a9cbe84d 100644
--- a/src/pages/testingHall/details.vue
+++ b/src/pages/testingHall/details.vue
@@ -11,7 +11,6 @@
已完成
{{detailData.papersName}}
-
起止时间:
- 20
+ {{allNumber}}
- 100
+ {{allGrade}}
@@ -162,7 +161,8 @@
onLoad
} from '@dcloudio/uni-app';
import {
- reactive
+ reactive,
+ computed
} from 'vue'
import {
startTraExamPapersInfo
@@ -177,33 +177,38 @@
examEndTm: '',
execPersionNumer: '',
planPersionNumber: '',
+ judgeNumber: 0,
+ singleNumber: 0,
+ multiNumber: 0,
+ essayNumber: 0,
+ judgeGrade: 0,
+ singleGrade: 0,
+ multiGrade: 0,
+ essayGrade: 0,
})
const customStyle = {
backgroundColor: '#0066FF',
border: '1px solid rgb(12, 123, 245)',
}
+ const allNumber = computed(() => detailData.judgeNumber + detailData.singleNumber + detailData.multiNumber + detailData.essayNumber)
+ const allGrade = computed(() => detailData.judgeGrade + detailData.singleGrade + detailData.multiGrade + detailData.essayGrade)
const goto_examination = async () => {
common.loading()
startTraExamPapersInfo({
- examId : "1"
+ examId : detailData.examId
}).then(res => {
- setPageCache('examination', res.body)
+ setPageCache('examination', {...res.body, examId:detailData.examId})
common.navigateTo('/pages/examination/index')
}).finally(() => {
common.hideLoading()
})
- // papersId.value = e.papersId
- // paperData.value = setPageCache('examination_'+papersId.value)
- // if (!papersId.value || !paperData.value) {
- // common.navigateBack()
- // return
- // }
}
onLoad((e) => {
const testing_hall_details = getPageCache('testing_hall_details')
Object.assign(detailData, {
...testing_hall_details
})
+ console.log('detailData', detailData);
})
diff --git a/src/pages/testingHall/index.vue b/src/pages/testingHall/index.vue
index 8b2453cd..730312a3 100644
--- a/src/pages/testingHall/index.vue
+++ b/src/pages/testingHall/index.vue
@@ -9,8 +9,7 @@
+ v-model="searchText" @confirm="search">
@@ -18,18 +17,21 @@
+ :lineColor="`url(${LineBg}) 10% 10%`">
-
+
-
+
-
+
-
+
@@ -47,7 +49,9 @@
import {
onLoad
} from '@dcloudio/uni-app'
- import {setPageCache} from '@/common/common';
+ import {
+ setPageCache
+ } from '@/common/common';
import common from '@/common/common';
const customStyle = {
backgroundColor: "#F1F5FA",
@@ -63,9 +67,9 @@
}
const statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
- const lineBg =
- "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAABL0lEQVQ4T6XSv0uCURTG8e9jgpRNDS1BU1sELUFLQVM1tgQFtcR7A8m1LQqaLGhOkQKH/o5aKiiHlgiE0K1oCYLAMk9ov/RF8e313u2ew4dzzzmi2+NsA9gH3hCr6srzbAJxDkS/nbvwYNJilMkDow1FXYUHneWAlV/MqN3ZcKCzHWDb164MGa3/H/Qshdj0YbdUmORIL8HBNRsgShZjoQkznvioY/e19wCgCccSsAcM+bBnjHmyuvx5bw8mrJ93FoEkYrzFej0g5kjrpjH2BTrro8oIYhgYQ0xhTCPibfb0ggjLHKrojwvPEogDIBZgycsYKQrscqpKq3zh7BXo7YBVgRMibLWqqvnLzh6BwTZgESNHD8edoL+hOJupT9CII0oYJcQ14oy0CgHa0JTyCeBLVNeWygE5AAAAAElFTkSuQmCC";
-
+ import {
+ LineBg
+ } from '@/enum.js'
const contentRef = ref(null);
const tabAct = ref(0);
const searchText = ref('');
@@ -76,7 +80,7 @@
}, {
name: '未完成'
}]);
-
+
const contentRefs = ref([])
const status = ref('loadmore') // loadmore - 加载前,loading - 加载中,nomore - 没有数据
const limit = 15
@@ -101,12 +105,9 @@
common.navigateTo('/pages/testingHall/details');
}
onMounted(() => {
-
+
triggered.value = true
watch(tabAct, (newValue, oldValue) => {
- console.log('resresresresresxxxxxxxxxx', contentRefs.value);
- console.log('resresresresresxxxxxxxxxx', newValue);
- console.log('resresresresresxxxxxxxxxx', contentRefs.value[newValue]);
typeof contentRefs.value[newValue]?.getData === 'function' && contentRefs.value[newValue]
?.getData('first')
}, {
@@ -209,7 +210,7 @@
width: 90%;
margin: 20rpx auto;
height: 78rpx;
-
+
position: relative;
.search_div {
diff --git a/src/pages/wrong_question_record/components/favorites-course.vue b/src/pages/wrong_question_record/components/favorites-course.vue
index 8b39db1d..f02e3e44 100644
--- a/src/pages/wrong_question_record/components/favorites-course.vue
+++ b/src/pages/wrong_question_record/components/favorites-course.vue
@@ -47,6 +47,9 @@
import {
queryTraCrsBbsInfoByCrsId
} from '@/api/courseDetail.js';
+ import {
+ queryTraMistakesCollectionPaging,
+ } from '@/api/wrong_question_record.js';
const getData = (from = '') => {
if (from == 'first') {
if (total.value !== -1) {
@@ -64,8 +67,8 @@
console.log(status.value, '阿斯顿撒');
setTimeout(() => {
- queryTraCrsBbsInfoByCrsId({
- crsId: 'CRS0250181220722025070408313900000018729',
+ queryTraMistakesCollectionPaging({
+ isCorrect: 'N',
page: page.value,
limit: limit
}).then(res => {
diff --git a/src/pages/wrong_question_record/index.vue b/src/pages/wrong_question_record/index.vue
index a6604e73..74fe2eb7 100644
--- a/src/pages/wrong_question_record/index.vue
+++ b/src/pages/wrong_question_record/index.vue
@@ -43,12 +43,15 @@
} from 'vue';
import {
LineBg
- } from '@/enum.js';
+ } from '@/enum.js'
import {
queryTraCrsBbsInfoByCrsId,
replyTraCrsBbsInfo,
qryChildTraCrsBbsInfo
} from '@/api/courseDetail.js';
+
+
+
import common from '@/common/common';
const statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
diff --git a/src/pagesA.json b/src/pagesA.json
index 9b2725d7..c51e8aeb 100644
--- a/src/pagesA.json
+++ b/src/pagesA.json
@@ -135,6 +135,15 @@
}
}
},
+ {
+ "path": "pages/examination/result",
+ "style": {
+ "navigationBarTitleText": "考试结果",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+ },
{
"path": "pages/practice/index",
"style": {
@@ -143,7 +152,24 @@
"titleNView": false
}
}
- }
-
+ },
+ {
+ "path": "pages/learningTasks/index",
+ "style": {
+ "navigationBarTitleText": "学习任务",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+ },
+ {
+ "path": "pages/learningTasks/details",
+ "style": {
+ "navigationBarTitleText": "学习详情",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+ },
]
}
\ No newline at end of file
diff --git a/src/static/images/dialog/history-icon.png b/src/static/images/dialog/history-icon.png
new file mode 100644
index 00000000..6b0d333f
Binary files /dev/null and b/src/static/images/dialog/history-icon.png differ
diff --git a/src/static/images/examination/bg2@2x.png b/src/static/images/examination/bg2@2x.png
new file mode 100644
index 00000000..b237623a
Binary files /dev/null and b/src/static/images/examination/bg2@2x.png differ
diff --git a/src/static/images/examination/duration-icon.png b/src/static/images/examination/duration-icon.png
new file mode 100644
index 00000000..464f0bd5
Binary files /dev/null and b/src/static/images/examination/duration-icon.png differ
diff --git a/src/static/images/examination/examination-icon.png b/src/static/images/examination/examination-icon.png
new file mode 100644
index 00000000..2b93e371
Binary files /dev/null and b/src/static/images/examination/examination-icon.png differ
diff --git a/src/static/images/examination/getting_in.gif b/src/static/images/examination/getting_in.gif
new file mode 100644
index 00000000..5937cebe
Binary files /dev/null and b/src/static/images/examination/getting_in.gif differ
diff --git a/src/static/images/examination/getting_robot.png b/src/static/images/examination/getting_robot.png
new file mode 100644
index 00000000..4404c935
Binary files /dev/null and b/src/static/images/examination/getting_robot.png differ
diff --git a/src/static/images/examination/qualified.png b/src/static/images/examination/qualified.png
new file mode 100644
index 00000000..dfb3e5a2
Binary files /dev/null and b/src/static/images/examination/qualified.png differ
diff --git a/src/static/images/examination/unqualified.png b/src/static/images/examination/unqualified.png
new file mode 100644
index 00000000..61f3315f
Binary files /dev/null and b/src/static/images/examination/unqualified.png differ
diff --git a/src/static/images/messageNotification/type_2.png b/src/static/images/messageNotification/type_01.png
similarity index 100%
rename from src/static/images/messageNotification/type_2.png
rename to src/static/images/messageNotification/type_01.png
diff --git a/src/static/images/messageNotification/type_5.png b/src/static/images/messageNotification/type_02.png
similarity index 100%
rename from src/static/images/messageNotification/type_5.png
rename to src/static/images/messageNotification/type_02.png
diff --git a/src/static/images/messageNotification/type_1.png b/src/static/images/messageNotification/type_03.png
similarity index 100%
rename from src/static/images/messageNotification/type_1.png
rename to src/static/images/messageNotification/type_03.png
diff --git a/src/uni_modules/uv-grid/changelog.md b/src/uni_modules/uv-grid/changelog.md
new file mode 100644
index 00000000..8c612618
--- /dev/null
+++ b/src/uni_modules/uv-grid/changelog.md
@@ -0,0 +1,21 @@
+## 1.0.9(2023-12-06)
+1. 优化
+## 1.0.8(2023-12-06)
+1. 阻止事件冒泡问题
+## 1.0.7(2023-10-13)
+1. unmounted兼容vue3
+## 1.0.6(2023-08-14)
+1. 修复初始的时候闪动的BUG
+## 1.0.5(2023-06-22)
+1. 优化修改
+## 1.0.4(2023-06-21)
+1. 修复BUG
+## 1.0.3(2023-06-01)
+1. 修复点击触发两次事件的BUG
+## 1.0.2(2023-05-23)
+1. 优化
+## 1.0.1(2023-05-16)
+1. 优化组件依赖,修改后无需全局引入,组件导入即可使用
+2. 优化部分功能
+## 1.0.0(2023-05-10)
+uv-grid 宫格布局
diff --git a/src/uni_modules/uv-grid/components/uv-grid-item/props.js b/src/uni_modules/uv-grid/components/uv-grid-item/props.js
new file mode 100644
index 00000000..6b86298a
--- /dev/null
+++ b/src/uni_modules/uv-grid/components/uv-grid-item/props.js
@@ -0,0 +1,15 @@
+export default {
+ props: {
+ // 宫格的name
+ name: {
+ type: [String, Number, null],
+ default: null
+ },
+ // 背景颜色
+ bgColor: {
+ type: String,
+ default: 'transparent'
+ },
+ ...uni.$uv?.props?.gridItem
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-grid/components/uv-grid-item/uv-grid-item.vue b/src/uni_modules/uv-grid/components/uv-grid-item/uv-grid-item.vue
new file mode 100644
index 00000000..9412852d
--- /dev/null
+++ b/src/uni_modules/uv-grid/components/uv-grid-item/uv-grid-item.vue
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/uni_modules/uv-grid/components/uv-grid/props.js b/src/uni_modules/uv-grid/components/uv-grid/props.js
new file mode 100644
index 00000000..d5f8474d
--- /dev/null
+++ b/src/uni_modules/uv-grid/components/uv-grid/props.js
@@ -0,0 +1,20 @@
+export default {
+ props: {
+ // 分成几列
+ col: {
+ type: [String, Number],
+ default: 3
+ },
+ // 是否显示边框
+ border: {
+ type: Boolean,
+ default: false
+ },
+ // 宫格对齐方式,表现为数量少的时候,靠左,居中,还是靠右
+ align: {
+ type: String,
+ default: 'left'
+ },
+ ...uni.$uv?.props?.grid
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-grid/components/uv-grid/uv-grid.vue b/src/uni_modules/uv-grid/components/uv-grid/uv-grid.vue
new file mode 100644
index 00000000..0314b184
--- /dev/null
+++ b/src/uni_modules/uv-grid/components/uv-grid/uv-grid.vue
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/uni_modules/uv-grid/package.json b/src/uni_modules/uv-grid/package.json
new file mode 100644
index 00000000..0c933795
--- /dev/null
+++ b/src/uni_modules/uv-grid/package.json
@@ -0,0 +1,88 @@
+{
+ "id": "uv-grid",
+ "displayName": "uv-grid 宫格布局 全面兼容vue3+2、app、h5、小程序等多端",
+ "version": "1.0.9",
+ "description": "uv-grid 宫格组件一般用于同时展示多个同类项目的场景,可以给宫格的项目设置徽标组件(badge),或者图标等,也可以扩展为左右滑动的轮播形式。",
+ "keywords": [
+ "uv-grid",
+ "uvui",
+ "uv-ui",
+ "宫格布局",
+ "grid"
+],
+ "repository": "",
+ "engines": {
+ "HBuilderX": "^3.1.0"
+ },
+ "dcloudext": {
+ "type": "component-vue",
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "插件不采集任何数据",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uv-ui-tools",
+ "uv-icon"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-grid/readme.md b/src/uni_modules/uv-grid/readme.md
new file mode 100644
index 00000000..cd13cefd
--- /dev/null
+++ b/src/uni_modules/uv-grid/readme.md
@@ -0,0 +1,17 @@
+## Grid 宫格布局
+
+> **组件名:uv-grid**
+
+宫格组件一般用于同时展示多个同类项目的场景,可以给宫格的项目设置徽标组件(badge),或者图标等,也可以扩展为左右滑动的轮播形式。
+
+# 查看文档
+
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file