123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 |
- import { defineComponent, onMounted, reactive, ref } from 'vue';
- import styles from './noticeModal.module.less';
- // import p1 from './images/1.png'
- import p2 from './images/2.png';
- import p3 from './images/3.png';
- import p4 from './images/4.png';
- import p5 from './images/5.png';
- import p6 from './images/6.png';
- import iconClose from './images/icon-close.png';
- import iconDownload from './images/icon-download.png';
- import TheQrCode from '@/components/TheQrCode';
- import html2canvas from 'html2canvas';
- import { vaildUrl } from '@/utils/urlUtils';
- import dayjs from 'dayjs';
- export default defineComponent({
- name: 'notice-modal',
- props: {
- data: {
- type: Object,
- default: () => ({})
- }
- },
- emits: ['close'],
- setup(props, { emit }) {
- const data = reactive({
- uploading: false
- });
- const extraConfig = ref({} as any);
- const url = ref(
- vaildUrl() + `/classroom-app/#/student-register?sId=${props.data.id}`
- );
- if (props.data.registerType != 'BUG_GOODS') {
- url.value =
- vaildUrl() + `/classroom-app/#/register-member?sId=${props.data.id}`;
- }
- const imgs = reactive({
- saveLoading: false,
- image: null as any,
- shareLoading: false
- });
- const downImg = () => {
- if (imgs.saveLoading) {
- return;
- }
- imgs.saveLoading = true;
- // 判断是否已经生成图片
- if (imgs.image) {
- saveImg();
- } else {
- const container: any = document.getElementById(`preview-container`);
- html2canvas(container, {
- allowTaint: true,
- useCORS: true,
- backgroundColor: null
- })
- .then(async canvas => {
- const url = canvas.toDataURL('image/png');
- imgs.image = url;
- saveImg();
- })
- .catch(() => {
- imgs.saveLoading = false;
- });
- }
- };
- const saveImg = async () => {
- // showLoadingToast({ message: '图片生成中...', forbidClick: true });
- setTimeout(() => {
- imgs.saveLoading = false;
- }, 100);
- const link = document.createElement('a');
- link.setAttribute('download', '报名图片' + '.png');
- // 添加时间戳,防止浏览器缓存图片
- // console.log(imgUrl,'imgUrl')
- link.href = imgs.image;
- link.click();
- // const res = await promisefiyPostMessage({
- // api: 'savePicture',
- // content: {
- // base64: imgs.image
- // }
- // });
- // if (res?.content?.status === 'success') {
- // showSuccessToast('保存成功');
- // } else {
- // showFailToast('保存失败');
- // }
- };
- onMounted(() => {
- const extraConfigS = props.data.extraConfig
- ? JSON.parse(props.data.extraConfig)
- : {};
- const content = extraConfigS.content.replace(/\n/gi, '<br />');
- extraConfig.value = {
- ...extraConfigS,
- content
- };
- });
- return () => (
- <div class={styles.noticeBack}>
- <div class={styles.noticeModal} id="preview-container">
- <img src={p5} class={styles.bg} />
- <img src={p4} class={styles.header} />
- <img src={p2} class={styles.bottom} />
- <img src={p6} class={styles.bottom_d} />
- <div class={styles.schoolName}>
- <img
- class={styles.schoolLogo}
- crossorigin="anonymous"
- src={props.data.logo + `?some=${new Date().getTime()}`}
- />
- <span>{props.data.name}</span>
- </div>
- <div class={styles.studentCore}>
- <img src={p3} class={styles.book} />
- <div class={styles.title}>尊敬的家长:</div>
- <div class={styles.content1}>
- 为贯彻落实县“十四五”教育发展规划、教育部《基础教育课程教学改革深化行动方案》等文件精神,推进教育部“实施国家教育数字化战略行动”,促进信息技术与音乐课堂器乐教学练的深度融合,推动数字化在拓展音乐教学时空、共享优质资源、优化课程内容与教学过程、优化学生学习方式、精准开展教学评价等方面广泛应用,学校决定自本学期开展“器乐课堂数字化建设”,现将有关安排通知如下:
- </div>
- <div class={styles.content}>
- <p class={styles.smallTitle}>
- 一、音乐课已经学了唱歌,为什么还要学习器乐
- </p>
- <p class={styles.smallContnet}>
- 通过器乐来学习音乐,能全面培养学生的读谱、视唱、听音、节奏、和声、欣赏、创作等综合音乐素养。
- </p>
- </div>
- <div class={styles.content}>
- <p class={styles.smallTitle}>
- 二、器乐课堂的小乐器有哪些种类和优势
- </p>
- <p class={styles.smallContnet}>
- 通常有竖笛、排箫、葫芦丝、陶笛等,具有携带方便、轻巧、好存放、简单易学、应用灵活、价格低等优势。
- </p>
- </div>
- <div class={styles.content}>
- <p class={styles.smallTitle}>
- 三、我校器乐课堂数字化准备开设的乐器安排
- </p>
- <p
- class={styles.smallContnet}
- v-html={extraConfig.value.content}></p>
- </div>
- <div class={styles.content}>
- <p class={styles.smallTitle}>
- 四、为什么要进行器乐课堂数字化建设
- </p>
- <p class={styles.smallContnet}>
- 在器乐的学练中,涉及乐理、指法、节奏、音准等多项音乐专业知识,借助数字化可以让学生人人随时学练,解决学生课后面临不会练、家长无法辅助、老师无法及时给予指导的专业性问题,让外行人都看得懂。
- </p>
- </div>
- <div class={styles.content}>
- <p class={styles.smallTitle}>五、建设器乐课堂数字化的优势</p>
- <p class={styles.smallContnet}>
- 1.能帮助学生增强专注力与记忆力,提高阅读与理解能力,培养审美与情商,舒缓与释放情绪,有助于培养学生的身心健康;
- <br />
- 2.让学生能够较好地适应接下来中考或高考的政策调整。
- </p>
- </div>
- <div class={styles.content}>
- <p class={styles.smallTitle}>六、如何实施器乐课堂数字化建设</p>
- <p class={styles.smallContnet}>
- 1.器乐课堂数字化建设的标准为:家校互联互通、课上课后学练同频;
- <br />
- 2.由硬件环境、技术环境、数字化音乐资源、师生数字化素养培养等构成,需长期持续性建设;
- <br />
- 3.基于校情,学校借助北京知勉公益基金会提供的专业技术资源,依托学校现有音乐教室场地设备,进行数字化资源建设与升级,并安排音乐教师持续进行数字化素养培训;
- <br />
- 4.实施后,音乐老师在课上使用数字化工具进行器乐授课,学生借助数字化工具进行学习,课后,学生在家使用乐器数字化工具进行练习。
- </p>
- </div>
- <div class={styles.content}>
- <p class={styles.smallTitle}>
- 七、实施的年级、参加原则、职责分工
- </p>
- <p class={styles.smallContnet}>
- 1.以音乐课堂为建设主体,面向全体学生实施器乐课堂数字化教学练;
- <br />
- 2.学校负责协调解决家校互联互通的问题;
- <br />
- 3.家长负责解决乐器、数字化学练等工具,遵循家长自愿参与的原则;
- </p>
- </div>
- <div class={styles.content}>
- <p class={styles.smallTitle}>
- 八、什么是数字化学练工具,准备途径,参考价格
- </p>
- <p class={styles.smallContnet}>
- 指具有数字化乐谱与课件、测评音视频云储存、五线谱与演奏指法跟播、电子节拍/校音、选段练习、原音/伴奏切换、速度调整等数字化学练工具(软件),通过手机或平板IPAD使用。
- 家长可自行在手机应用市场中准备,不限品牌、型号及价格,准备前应了解软件是否支持课堂乐器学练及以上功能。也可通过基金会提供的渠道准备,参考价格为290元/年。
- </p>
- </div>
- <div class={styles.content}>
- <p class={styles.smallTitle}>九、课堂乐器准备的途径、参考要求</p>
- <p class={styles.smallContnet}>
- 家长可自行在网店、琴行准备,课堂乐器的要求为:
- 不限品牌、型号及价格,也可通过基金会提供的渠道准备,参考价格为
- {extraConfig.value.price}。
- </p>
- </div>
- <div class={styles.content}>
- <p class={styles.smallTitle}>十、工作安排</p>
- <p class={styles.smallContnet}>
- 1.我校定于
- {dayjs(extraConfig.value.teachTime).format('YYYY年MM月DD日')}
- 正式开展器乐课堂数字化教学; <br />
- 2.
- {dayjs(extraConfig.value.buildStartTime).format(
- 'YYYY年MM月DD日'
- )}
- —{dayjs(extraConfig.value.buildEndTime).format('MM月DD日')}
- 间进行家长互联互通部署(另行通知);
- <br />
- 3.请家长在开课前为学生准备好课堂乐器和数字化学练工具,通过基金会渠道准备的家长可扫码进行工具准备;
- <br />
- 4.如有疑问可向本班音乐教师咨询。
- </p>
- </div>
- <div class={[styles.content1, styles.lastContent]}>
- 器乐课堂数字建设将遵循“立足本校实际,符合学生特点,注重课效课质”,为孩子成长搭建快乐的音乐家园,让我们的孩子以音乐为友,与器乐同行,在艺术特色的引领下茁壮成长,愿我们的孩子们都能奏出美妙的音乐!再次感谢家长朋友们对学校工作的大力支持!
- </div>
- <div class={styles.schoolInfo}>
- <p>{props.data.name}</p>
- <p>{dayjs().format('YYYY年MM月DD日')}</p>
- </div>
- </div>
- <div class={styles.qrCodeContainer}>
- <div class={styles.codewrap}>
- <TheQrCode
- logoSrc={props.data.logo}
- margin={0}
- text={url.value}
- size={84}
- />
- {/* <img src={codewrap} class={styles.codewrapBg} alt="" /> */}
- </div>
- <div class={styles.codewrapSubmit}>请扫码报名</div>
- </div>
- </div>
- <div class={styles.btnGroup}>
- <img
- src={iconClose}
- class={styles.iconClose}
- onClick={() => emit('close')}
- />
- <img
- src={iconDownload}
- class={styles.iconDownload}
- onClick={downImg}
- />
- {/* <div class={styles.iconClose} onClick={downImg}>
- </div>
- <div class={styles.downBtn} onClick={downImg}>
- 下载图片
- </div> */}
- </div>
- </div>
- );
- }
- });
|