吴朋磊 2 долоо хоног өмнө
parent
commit
524ae5e9ec
38 өөрчлөгдсөн 75 нэмэгдсэн , 45 устгасан
  1. 9 0
      common/common.js
  2. 9 5
      components/page-header.vue
  3. 2 2
      pages/materialCollection/submitMaterial/index.vue
  4. 5 4
      pages/materialCollection/taskOverview/index.vue
  5. 2 1
      pages/message/index.vue
  6. 5 3
      pages/notice/mine/detail.vue
  7. 8 7
      pages/notice/mine/index.vue
  8. 1 8
      pages/notice/overview/index.vue
  9. 4 9
      pages/notice/overview/noticeDetail.vue
  10. 7 6
      pages/todo/index.vue
  11. 23 0
      reqApi/notification.js
  12. BIN
      static/image/materialCollection/docIcon.png
  13. 0 0
      unpackage/cache/wgt/__UNI__07352BD/app-service.js
  14. 0 0
      unpackage/cache/wgt/__UNI__07352BD/app.css
  15. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/materialCollection/reviewMaterial/index.css
  16. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/materialCollection/submitMaterial/index.css
  17. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/materialCollection/taskOverview/index.css
  18. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/message/index.css
  19. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/notice/mine/detail.css
  20. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/notice/mine/index.css
  21. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/notice/mine/preview.css
  22. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/notice/overview/index.css
  23. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/notice/overview/noticeDetail.css
  24. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/notice/publish/index.css
  25. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/notice/publish/personList.css
  26. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/notice/publish/selectObject.css
  27. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/teacherHonor/honorOverview/honorTypeDetail.css
  28. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/teacherHonor/index.css
  29. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/todo/index.css
  30. 0 0
      unpackage/cache/wgt/__UNI__07352BD/pages/workspace/index.css
  31. BIN
      unpackage/cache/wgt/__UNI__07352BD/static/image/icon/file.png
  32. BIN
      unpackage/cache/wgt/__UNI__07352BD/static/image/icon/person.png
  33. BIN
      unpackage/cache/wgt/__UNI__07352BD/static/image/materialCollection/docIcon.png
  34. BIN
      unpackage/cache/wgt/__UNI__07352BD/static/image/materialCollection/shenhe.png
  35. BIN
      unpackage/cache/wgt/__UNI__07352BD/static/image/materialCollection/shenheIcon.png
  36. BIN
      unpackage/cache/wgt/__UNI__07352BD/static/image/materialCollection/tijiao.png
  37. BIN
      unpackage/cache/wgt/__UNI__07352BD/static/image/materialCollection/tijiaoIcon.png
  38. BIN
      unpackage/release/apk/__UNI__07352BD__20260729160304.apk

+ 9 - 0
common/common.js

@@ -82,6 +82,15 @@ export function getScorePerformanceAnalysis() {
       "#84313D",
     ]
 }
+// 文本截断:超过指定长度显示省略号
+export function truncateText(text, maxLength) {
+    if (!text) return '';
+    if (text.length > maxLength) {
+        return text.substring(0, maxLength) + '...';
+    }
+    return text;
+}
+
 // 去掉小数点后面为0的 如果不为0 最多只保留2位小数
 export function  getFormatNumber(numberStr) {
     // 尝试将字符串转为数字

+ 9 - 5
components/page-header.vue

@@ -1,28 +1,32 @@
 <template>
 	<view class="page_header" :style="{ paddingTop: 80 + 'rpx' }">
-		<text class="header_title">{{ schoolName }}</text>
+		<text class="header_title">{{ currentSchoolName }}</text>
 	</view>
 </template>
 
 <script setup>
-	import { ref, onMounted } from 'vue';
+	import { computed, onMounted } from 'vue';
 	import { useStore } from 'vuex';
 	import { useSafeArea } from '@/common/safeArea';
 
 	const store = useStore();
-	const schoolName = ref('');
 	const { statusBarHeight, initSafeArea } = useSafeArea();
 
+	// 使用 computed 响应式获取学校名称,当 store 中 userInfo 更新时会自动重新计算
+	const currentSchoolName = computed(() => {
+		const userInfo = store.state.userStore.userInfo || {};
+		return userInfo.schoolName || '';
+	});
+
 	onMounted(() => {
 		initSafeArea();
-		schoolName.value = store.state.userStore.userInfo.schoolName || '';
 	});
 </script>
 
 <style lang="scss" scoped>
 .page_header {
 	position: fixed;
-	top: 0;
+	top: 0;	
 	left: 0;
 	right: 0;
 	background-color: #FFFFFF;

+ 2 - 2
pages/materialCollection/submitMaterial/index.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="page_notice" :style="{paddingTop: statusBarHeight + 400 + 'rpx', paddingBottom: safeAreaBottom + 160 + 'rpx' }">
+	<view class="page_notice" :style="{paddingTop: statusBarHeight + 430 + 'rpx', paddingBottom: safeAreaBottom + 160 + 'rpx' }">
 		<notice-header 
 			title="提交材料" 
 			mode="material"
@@ -62,7 +62,7 @@
 					</view>
 				</scroll-view>
 
-				<no-data v-if="taskList.length === 0" centered text="暂无任务" />
+				<no-data v-if="taskList.length === 0" centered text="暂无提交材料" />
 			</view>
 		</view>
 

+ 5 - 4
pages/materialCollection/taskOverview/index.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="page_notice" :style="{paddingTop: statusBarHeight + 332 + 'rpx', paddingBottom: safeAreaBottom + 160 + 'rpx' }">
+	<view class="page_notice" :style="{paddingTop: statusBarHeight + 362 + 'rpx', paddingBottom: safeAreaBottom + 160 + 'rpx' }">
 		<notice-header 
 			title="任务总览" 
 			mode="taskOverview"
@@ -36,9 +36,9 @@
 							<view class="need_shenhe" v-if="item.auditMechanism">
 								<text>审</text>
 							</view>
-							<text class="meta_text textLength">{{ item.departmentName }}</text>
-							<text class="meta_text textLength">{{ item.materialCategoryName }}</text>
-							<text class="meta_text">{{ item.createdBy }}</text>
+							<text class="meta_text textLength">{{ truncateText(item.departmentName, 5) }}</text>
+							<text class="meta_text textLength">{{ truncateText(item.materialCategoryName, 5) }}</text>
+							<text class="meta_text">{{ truncateText(item.createdBy, 5) }}</text>
 						</view>
 					</view>
 					<!-- 任务底部 -->
@@ -75,6 +75,7 @@ import CommonTabbar from '@/components/commonTabbar.vue';
 import NoData from '@/components/no-data.vue';
 import { useSafeArea } from '@/common/safeArea';
 import notification from '@/reqApi/notification.js';
+import { truncateText } from '@/common/common.js';
 
 const { statusBarHeight, safeAreaBottom, initSafeArea } = useSafeArea();
 

+ 2 - 1
pages/message/index.vue

@@ -45,6 +45,7 @@
 	import workspace from '@/reqApi/workspace.js';
 	import { useSafeArea } from '@/common/safeArea';
 	import NoData from '@/components/no-data.vue';
+	import { truncateText } from '@/common/common.js';
 
 	const { statusBarHeight, safeAreaBottom, initSafeArea } = useSafeArea();
 	const messageList = ref([]);
@@ -98,7 +99,7 @@
 				});
 				unreadCount.value = 0;
 				uni.showToast({
-					title: '全部消息标记成功',
+					title: '全部已读成功',
 					icon: 'success',
 					duration: 2000
 				});

+ 5 - 3
pages/notice/mine/detail.vue

@@ -7,8 +7,8 @@
 				<text class="detail_title">{{ noticeDetail.noticeName }}</text>
 				<view class="detail_meta">
 					<view class="meta_left">
-						<text class="meta_text">{{ noticeDetail.typeName }}</text>
-						<text class="meta_text">{{ noticeDetail.createTeacherName }}</text>
+						<text class="meta_text">{{ truncateText(noticeDetail.typeName, 5) }}</text>
+						<text class="meta_text">{{ truncateText(noticeDetail.createTeacherName, 5) }}</text>
 						<text class="meta_text">{{ noticeDetail.releaseTime }}</text>
 					</view>
 					<view class="attachment_tag" v-if="noticeDetail.noticeFiles.length > 0" @click="showAttachmentModal = true">
@@ -35,7 +35,7 @@
 					</view>
 					<text class="modal_title">查看附件</text>
 					<view class="modal_close" @click="showAttachmentModal = false">
-						<uni-icons type="closeempty" size="20" color="#999999"></uni-icons>
+						<uni-icons type="closeempty" size="20" color="#333333"></uni-icons>
 					</view>
 				</view>
 				<view class="modal_list_wrapper">
@@ -58,8 +58,10 @@
 import { ref, onMounted } from 'vue';
 import { onLoad } from '@dcloudio/uni-app';
 import CommonHeader from '@/components/common-header.vue';
+import uniIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue';
 import overviewApi from '@/reqApi/overview.js';
 import { useSafeArea } from '@/common/safeArea';
+import { truncateText } from '@/common/common.js';
 
 const { statusBarHeight, safeAreaBottom, initSafeArea } = useSafeArea();
 

+ 8 - 7
pages/notice/mine/index.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="page_mine" :style="{paddingTop: statusBarHeight + 352 + 'rpx', paddingBottom: safeAreaBottom + 160 + 'rpx' }">
+	<view class="page_mine" :style="{paddingTop: statusBarHeight + 352 + 'rpx', paddingBottom: showTabbar ? safeAreaBottom + 160 : '24' + 'rpx' }">
 		<notice-header title="我的通知" :showSearch="true" :showFilter="true" :showTabs="true" :tabs="tabs"
 			:activeTab="activeTab" tabMode="index" @tabChange="handleTabChange" @typeChange="handleTypeChange" @timeChange="handleTimeChange" @searchChange="handleSearchChange"></notice-header>
 
@@ -14,8 +14,8 @@
 						</view>
 						<view class="notice_meta">
 							<view class="meta_left">
-								<text class="meta_text">{{ item.category }}</text>
-								<text class="meta_text">{{ item.department }}</text>
+								<text class="meta_text">{{ truncateText(item.category, 5) }}</text>
+								<text class="meta_text">{{ truncateText(item.department, 5) }}</text>
 								<text class="meta_text">{{ item.time }}</text>
 							</view>
 							<view class="status_tag" :class="item.statusClass">
@@ -40,6 +40,7 @@ import NoticeHeader from '@/components/notice-header.vue';
 import NoData from '@/components/no-data.vue';
 import overviewApi from '@/reqApi/overview.js';
 import { useSafeArea } from '@/common/safeArea';
+import { truncateText } from '@/common/common.js';
 
 const { statusBarHeight, safeAreaBottom, initSafeArea } = useSafeArea();
 
@@ -79,7 +80,7 @@ const fetchNoticeList = async () => {
 				title: item.noticeName,
 				status: item.readStatus === 1 ? '已读' : '未读',
 				noticeStatus: item.readStatus,
-				statusClass: item.readStatus === 1 ? 'status-published' : 'status-closed',
+				statusClass: item.readStatus === 1 ? 'status_published' : 'status_pending',
 				category: item.typeName,
 				department: item.createTeacherName,
 				time: item.releaseTime,
@@ -237,17 +238,17 @@ const handleDetail = (id) => {
 				border-radius: 8rpx;
 				font-weight: 400;
 
-				&.status-pending {
+				&.status_pending {
 					background: rgba(46, 100, 250, 0.1);
 					color: #2E64FA;
 				}
 
-				&.status-published {
+				&.status_published {
 					background: rgba(82, 196, 26, 0.1);
 					color: #2BC644;
 				}
 
-				&.status-closed {
+				&.status_closed {
 					background: rgba(245, 108, 108, 0.1);
 					color: #F56C6C;
 				}

+ 1 - 8
pages/notice/overview/index.vue

@@ -64,6 +64,7 @@ import overviewApi from '@/reqApi/overview.js';
 import store from '@/store/index.js';
 import NoData from '@/components/no-data.vue';
 import { useSafeArea } from '@/common/safeArea';
+import { truncateText } from '@/common/common.js';
 
 const { statusBarHeight, safeAreaBottom, initSafeArea } = useSafeArea();
 
@@ -158,14 +159,6 @@ const getDeleteClass = (item) => {
 	return 'delete ';
 };
 
-const truncateText = (text, maxLength) => {
-	if (!text) return '';
-	if (text.length > maxLength) {
-		return text.substring(0, maxLength) + '...';
-	}
-	return text;
-};
-
 const handleDelete = (id) => {
 	const item = noticeList.value.find(item => item.id === id);
 	if (item && item.noticeStatus !== 2) {

+ 4 - 9
pages/notice/overview/noticeDetail.vue

@@ -11,8 +11,8 @@
 				<text class="notice_title">{{ noticeItem.title }}</text>
 				<view class="notice_meta">
 					<view class="notice_left">
-						<text class="meta_item">{{ truncateText(noticeItem.category, 8) }}</text>
-						<text class="meta_item">{{ truncateText(noticeItem.department, 8) }}</text>
+						<text class="meta_item">{{ truncateText(noticeItem.category, 5) }}</text>
+						<text class="meta_item">{{ truncateText(noticeItem.department, 5) }}</text>
 						<text class="meta_item">{{ noticeItem.time }}</text>
 					</view>
 
@@ -82,6 +82,7 @@ import uniIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue
 import overviewApi from '@/reqApi/overview.js';
 import NoData from '@/components/no-data.vue';
 import { useSafeArea } from '@/common/safeArea';
+import { truncateText } from '@/common/common.js';
 
 const { statusBarHeight, safeAreaBottom, initSafeArea } = useSafeArea();
 
@@ -118,13 +119,7 @@ const getStatusClass = (status) => {
 	return statusClassMap[status] || '';
 };
 
-const truncateText = (text, maxLength) => {
-	if (!text) return '';
-	if (text.length > maxLength) {
-		return text.substring(0, maxLength) + '...';
-	}
-	return text;
-};
+
 
 const filteredReaders = computed(() => {
 	let list = readerList.value;

+ 7 - 6
pages/todo/index.vue

@@ -21,19 +21,19 @@
 							</view>
 							<view class="todo_meta" v-if="item.source === 1">
 								<text class="meta_tag">未读</text>
-								<text class="meta_type">{{ item.noticeType }}</text>
-								<text class="meta_type">{{ item.createdBy }}</text>
+								<text class="meta_type">{{ truncateText(item.noticeType, 5) }}</text>
+								<text class="meta_type">{{ truncateText(item.createdBy, 5) }}</text>
 								<text class="meta_type">{{ item.releaseTime }}</text>
 							</view>
 							<view class="todo_meta" v-if="item.source === 2">
 								<text class="meta_tag" :class="getTagStyle('进行中')">{{ '进行中' }}</text>
-								<text class="meta_type">{{ item.departmentName }}</text>
-								<text class="meta_type">{{ item.materialCategoryName }}</text>
+								<text class="meta_type">{{ truncateText(item.departmentName, 5) }}</text>
+								<text class="meta_type">{{ truncateText(item.materialCategoryName, 5) }}</text>
 								<text class="meta_type">{{ "剩余" + item.daysRemaining + "天" }}</text>
 							</view>
 							<view class="todo_meta" v-if="item.source === 3">
-								<text class="meta_tag">{{ item.taskTyp }}</text>
-								<text class="meta_type">{{ item.workspaceTheme }}</text>
+								<text class="meta_tag">{{ truncateText(item.taskType, 5) }}</text>
+								<text class="meta_type">{{ truncateText(item.workspaceTheme, 5) }}</text>
 								<text class="meta_type">{{ item.contentDomain }}</text>
 							</view>
 						</view>
@@ -55,6 +55,7 @@ import CommonTabbar from '@/components/commonTabbar.vue';
 import NoData from '@/components/no-data.vue';
 import workspace from '@/reqApi/workspace.js';
 import { useSafeArea } from '@/common/safeArea';
+import { truncateText } from '@/common/common.js';
 
 const { statusBarHeight, safeAreaBottom, initSafeArea } = useSafeArea();
 const todoList = ref([]);

+ 23 - 0
reqApi/notification.js

@@ -0,0 +1,23 @@
+import request from '@/common/request.js';
+
+const notification = {
+	// 学年学期列表
+	getSchoolYearList() {
+		return request.get('/api/v1/teaching_plan/collect/target_loading/find_school_year')
+	},
+    // 归属分类
+    getCategoryList() {
+        return request.get('/api/v1/teaching_plan/collect/file_category/file_category_data')
+    },
+    // 总览列表
+    find_collection_task(data) {
+        return request.post('/api/v1/teaching_plan/collect/collection_task/find_collection_task', data)
+    },
+    // 提交材料列表
+    find_teacher_task_target_list(data) {
+        return request.post('/api/v1/teaching_plan/collect/task_target/find_teacher_task_target_list', data)
+    },
+
+}
+
+export default notification

BIN
static/image/materialCollection/docIcon.png


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/app-service.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/app.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/materialCollection/reviewMaterial/index.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/materialCollection/submitMaterial/index.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/materialCollection/taskOverview/index.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/message/index.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/notice/mine/detail.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/notice/mine/index.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/notice/mine/preview.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/notice/overview/index.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/notice/overview/noticeDetail.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/notice/publish/index.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/notice/publish/personList.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/notice/publish/selectObject.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/teacherHonor/honorOverview/honorTypeDetail.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/teacherHonor/index.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/todo/index.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
unpackage/cache/wgt/__UNI__07352BD/pages/workspace/index.css


BIN
unpackage/cache/wgt/__UNI__07352BD/static/image/icon/file.png


BIN
unpackage/cache/wgt/__UNI__07352BD/static/image/icon/person.png


BIN
unpackage/cache/wgt/__UNI__07352BD/static/image/materialCollection/docIcon.png


BIN
unpackage/cache/wgt/__UNI__07352BD/static/image/materialCollection/shenhe.png


BIN
unpackage/cache/wgt/__UNI__07352BD/static/image/materialCollection/shenheIcon.png


BIN
unpackage/cache/wgt/__UNI__07352BD/static/image/materialCollection/tijiao.png


BIN
unpackage/cache/wgt/__UNI__07352BD/static/image/materialCollection/tijiaoIcon.png


BIN
unpackage/release/apk/__UNI__07352BD__20260729160304.apk


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно