|
@@ -1,4 +1,4 @@
|
|
|
-import { defineComponent, onMounted, reactive, ref } from 'vue';
|
|
|
+import { defineComponent, onMounted, reactive, ref, nextTick } from 'vue';
|
|
|
import styles from './index.module.less';
|
|
|
import { List, Popup, DatePicker, Popover, Picker } from 'vant';
|
|
|
import request from '@/helpers/request';
|
|
@@ -23,13 +23,6 @@ export default defineComponent({
|
|
|
setup() {
|
|
|
const route = useRoute();
|
|
|
const router = useRouter();
|
|
|
- const areaTenantName = sessionStorage.getItem('areaTenantName') || ''
|
|
|
- const shareTitle = areaTenantName + '音乐(器乐)数字化转型问卷统计';
|
|
|
- const weChatShare = useWeChatShare(
|
|
|
- shareTitle,
|
|
|
- '科技赋能音乐(器乐)学习,在每一个孩子心中奏响美妙的乐章。',
|
|
|
- window.location.origin + '/classroom-app/shareImg/questionnaire-statistics.png'
|
|
|
- );
|
|
|
|
|
|
const tabName = ref('all');
|
|
|
const forms = reactive({
|
|
@@ -67,6 +60,7 @@ export default defineComponent({
|
|
|
const res = await request.post(
|
|
|
'/edu-app/open/meetingQuestionSetting/schoolStat',
|
|
|
{
|
|
|
+ hideLoading: false,
|
|
|
data: {
|
|
|
schoolAreaId: forms.id
|
|
|
}
|
|
@@ -158,12 +152,24 @@ export default defineComponent({
|
|
|
refreshing.value = false
|
|
|
};
|
|
|
|
|
|
- onMounted(async () => {
|
|
|
+ const initWxShare = () => {
|
|
|
+ const shareTitle = (state.schoolInfo.schoolName||'') + '音乐(器乐)数字化转型调查统计';
|
|
|
+ const weChatShare = useWeChatShare(
|
|
|
+ shareTitle,
|
|
|
+ '科技赋能音乐(器乐)学习,在每一个孩子心中奏响美妙的乐章。',
|
|
|
+ window.location.origin + '/classroom-app/shareImg/statistics-school.png'
|
|
|
+ );
|
|
|
if (browser().weixin) {
|
|
|
weChatShare.getAppSignature()
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ onMounted(async () => {
|
|
|
await queryInfo()
|
|
|
queryList()
|
|
|
+ nextTick(() => {
|
|
|
+ initWxShare()
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
return () => (
|
|
@@ -216,39 +222,42 @@ export default defineComponent({
|
|
|
</li>
|
|
|
</ul>
|
|
|
{/** 班级列表 */}
|
|
|
- <div class={styles.scList}>
|
|
|
- {
|
|
|
- state.classList.map((item: any) => (
|
|
|
- <div class={styles.sItem}>
|
|
|
- <div class={styles.itemTile}>
|
|
|
- <img src={gradeIcon} />
|
|
|
- <p>{item.currentGrade||''}{item.currentClass || ''}</p>
|
|
|
+ {
|
|
|
+ state.classList.length ?
|
|
|
+ <div class={styles.scList}>
|
|
|
+ {
|
|
|
+ state.classList.map((item: any) => (
|
|
|
+ <div class={styles.sItem}>
|
|
|
+ <div class={styles.itemTile}>
|
|
|
+ <img src={gradeIcon} />
|
|
|
+ <p>{item.currentGrade||''}{item.currentClass || ''}</p>
|
|
|
+ </div>
|
|
|
+ <ul class={styles.itemContent}>
|
|
|
+ <li>
|
|
|
+ <div class={styles.icTop}>
|
|
|
+ <span class={styles.sRed}>{formatNumberWithComma(item.studentNum || 0)}</span><i>人</i>
|
|
|
+ </div>
|
|
|
+ <p>参与调查</p>
|
|
|
+ </li>
|
|
|
+ <li>
|
|
|
+ <div class={styles.icTop}>
|
|
|
+ <span class={styles.sBlue}>{formatNumberWithComma(item.supportStudentNum || 0)}</span><i>人</i>
|
|
|
+ </div>
|
|
|
+ <p>支持学校开展</p>
|
|
|
+ </li>
|
|
|
+ <li>
|
|
|
+ <div class={styles.icTop}>
|
|
|
+ <span class={styles.sBlue}>{Number(item.supportStudentRate).toFixed(2)}%</span>
|
|
|
+ </div>
|
|
|
+ <p>支持率</p>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
</div>
|
|
|
- <ul class={styles.itemContent}>
|
|
|
- <li>
|
|
|
- <div class={styles.icTop}>
|
|
|
- <span class={styles.sRed}>{formatNumberWithComma(item.studentNum || 0)}</span><i>人</i>
|
|
|
- </div>
|
|
|
- <p>参与调查</p>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <div class={styles.icTop}>
|
|
|
- <span class={styles.sBlue}>{formatNumberWithComma(item.supportStudentNum || 0)}</span><i>人</i>
|
|
|
- </div>
|
|
|
- <p>支持学校开展</p>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <div class={styles.icTop}>
|
|
|
- <span class={styles.sBlue}>{Number(item.supportStudentRate).toFixed(2)}%</span>
|
|
|
- </div>
|
|
|
- <p>支持率</p>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- ))
|
|
|
- }
|
|
|
- </div>
|
|
|
-
|
|
|
+ ))
|
|
|
+ }
|
|
|
+ </div> :
|
|
|
+ <OEmpty description="暂无内容" class={styles.emptyC} />
|
|
|
+ }
|
|
|
{/* 班级 */}
|
|
|
<Popup
|
|
|
v-model:show={state.gradeStatus}
|