stuNeed.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975
  1. // pages/stuNeed/stuNeed.js
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. stuName: '', //学生姓名
  8. stuPhoneNum: '', //学生电话号码
  9. stuWeChatNum: '', //学生微信号码
  10. chosedCourse: '', //课程类别(大类)选项
  11. showCourseTitle: false, //课程类别(大类)选项是否展示
  12. courseChosedIndex: '', //选中课程大类的索引
  13. chosedCourseDetail: '', //课程细分选项
  14. showCourseDetail: false, //课程细分选项是否展示
  15. teachPosition: '', //辅导方式
  16. chosedTeachPosition: false, //辅导方式选项是否展示
  17. stuSex: '', //学生性别
  18. chosedStuSex: false, //学生性别选项是否展示
  19. teacherAttr: '不限', //老师身份默认选项
  20. teacherEdu: '不限', //老师学历默认选项
  21. teacherSex: '不限', //老师性别默认选项
  22. teacherImg: '不限', //老师头像是否上传默认选项
  23. // 课程类别
  24. courseList: [{
  25. name: "小学",
  26. choesd: false
  27. },
  28. {
  29. name: "初中",
  30. choesd: false
  31. },
  32. {
  33. name: "高中",
  34. choesd: false
  35. },
  36. {
  37. name: "大学",
  38. choesd: false
  39. },
  40. {
  41. name: "音乐",
  42. choesd: false
  43. },
  44. {
  45. name: "舞蹈",
  46. choesd: false
  47. },
  48. {
  49. name: "语言",
  50. choesd: false
  51. },
  52. {
  53. name: "体育",
  54. choesd: false
  55. },
  56. {
  57. name: "美术",
  58. choesd: false
  59. },
  60. {
  61. name: "书法",
  62. choesd: false
  63. },
  64. {
  65. name: "少儿编程",
  66. choesd: false
  67. },
  68. {
  69. name: "计算机",
  70. choesd: false
  71. },
  72. {
  73. name: "其他",
  74. choesd: false
  75. }
  76. ],
  77. // 课程细分
  78. courseDetail: [
  79. [{
  80. courseName: '小学1-5数学',
  81. choesd: false
  82. },
  83. {
  84. courseName: '小学1-5英语',
  85. choesd: false
  86. },
  87. {
  88. courseName: '小学1-5语文',
  89. choesd: false
  90. },
  91. {
  92. courseName: '小学6数学',
  93. choesd: false
  94. },
  95. {
  96. courseName: '小学6英语',
  97. choesd: false
  98. },
  99. {
  100. courseName: '小学6语文',
  101. choesd: false
  102. },
  103. {
  104. courseName: '小学奥数',
  105. choesd: false
  106. }
  107. ],
  108. [{
  109. courseName: '初一初二语文',
  110. choesd: false
  111. },
  112. {
  113. courseName: '初一初二数学',
  114. choesd: false
  115. },
  116. {
  117. courseName: '初一初二英语',
  118. choesd: false
  119. },
  120. {
  121. courseName: '初一初二物理',
  122. choesd: false
  123. },
  124. {
  125. courseName: '初一初二化学',
  126. choesd: false
  127. },
  128. {
  129. courseName: '初三语文',
  130. choesd: false
  131. },
  132. {
  133. courseName: '初三数学',
  134. choesd: false
  135. },
  136. {
  137. courseName: '初三英语',
  138. choesd: false
  139. },
  140. {
  141. courseName: '初三物理',
  142. choesd: false
  143. },
  144. {
  145. courseName: '初三化学',
  146. choesd: false
  147. },
  148. {
  149. courseName: '初中历史',
  150. choesd: false
  151. },
  152. {
  153. courseName: '初中地理',
  154. choesd: false
  155. },
  156. {
  157. courseName: '初中奥数',
  158. choesd: false
  159. },
  160. {
  161. courseName: '初中生物',
  162. choesd: false
  163. },
  164. {
  165. courseName: '初中预备班',
  166. choesd: false
  167. },
  168. {
  169. courseName: '初中科学',
  170. choesd: false
  171. },
  172. {
  173. courseName: '初中政治',
  174. choesd: false
  175. }
  176. ],
  177. [{
  178. courseName: '高一高二语文',
  179. choesd: false
  180. },
  181. {
  182. courseName: '高一高二数学',
  183. choesd: false
  184. },
  185. {
  186. courseName: '高一高二英语',
  187. choesd: false
  188. },
  189. {
  190. courseName: '高一高二物理',
  191. choesd: false
  192. },
  193. {
  194. courseName: '高一高二化学',
  195. choesd: false
  196. },
  197. {
  198. courseName: '高三语文',
  199. choesd: false
  200. },
  201. {
  202. courseName: '高三数学',
  203. choesd: false
  204. },
  205. {
  206. courseName: '高三英语',
  207. choesd: false
  208. },
  209. {
  210. courseName: '高三物理',
  211. choesd: false
  212. },
  213. {
  214. courseName: '高三化学',
  215. choesd: false
  216. },
  217. {
  218. courseName: '高中历史',
  219. choesd: false
  220. },
  221. {
  222. courseName: '高中地理',
  223. choesd: false
  224. },
  225. {
  226. courseName: '高中政治',
  227. choesd: false
  228. },
  229. {
  230. courseName: '高中生物',
  231. choesd: false
  232. },
  233. {
  234. courseName: '信息科技',
  235. choesd: false
  236. },
  237. {
  238. courseName: 'SAT',
  239. choesd: false
  240. }
  241. ],
  242. [{
  243. courseName: '托福',
  244. choesd: false
  245. },
  246. {
  247. courseName: '雅思',
  248. choesd: false
  249. },
  250. {
  251. courseName: '高等数学',
  252. choesd: false
  253. },
  254. {
  255. courseName: '微观经济学',
  256. choesd: false
  257. },
  258. {
  259. courseName: 'MBA',
  260. choesd: false
  261. },
  262. {
  263. courseName: '成人高考',
  264. choesd: false
  265. },
  266. {
  267. courseName: '国学',
  268. choesd: false
  269. },
  270. {
  271. courseName: '自学考试',
  272. choesd: false
  273. },
  274. {
  275. courseName: '专升本',
  276. choesd: false
  277. },
  278. {
  279. courseName: '考博面试辅导',
  280. choesd: false
  281. },
  282. {
  283. courseName: '考博专业课',
  284. choesd: false
  285. },
  286. {
  287. courseName: '考博英语',
  288. choesd: false
  289. },
  290. {
  291. courseName: '英语四级',
  292. choesd: false
  293. },
  294. {
  295. courseName: '英语六级',
  296. choesd: false
  297. },
  298. {
  299. courseName: '论文指导',
  300. choesd: false
  301. },
  302. {
  303. courseName: '考研专业课',
  304. choesd: false
  305. },
  306. {
  307. courseName: '考研政治',
  308. choesd: false
  309. },
  310. {
  311. courseName: '考研数学',
  312. choesd: false
  313. },
  314. {
  315. courseName: '考研英语',
  316. choesd: false
  317. },
  318. {
  319. courseName: '英语专业四级',
  320. choesd: false
  321. },
  322. {
  323. courseName: '英语专业八级',
  324. choesd: false
  325. },
  326. {
  327. courseName: '课程辅导',
  328. choesd: false
  329. }
  330. ],
  331. [{
  332. courseName: '小提琴',
  333. choesd: false
  334. },
  335. {
  336. courseName: '钢琴',
  337. choesd: false
  338. },
  339. {
  340. courseName: '电子琴',
  341. choesd: false
  342. },
  343. {
  344. courseName: '长笛',
  345. choesd: false
  346. },
  347. {
  348. courseName: '琵琶',
  349. choesd: false
  350. },
  351. {
  352. courseName: '手风琴',
  353. choesd: false
  354. },
  355. {
  356. courseName: '古筝',
  357. choesd: false
  358. },
  359. {
  360. courseName: '练耳歌唱',
  361. choesd: false
  362. },
  363. {
  364. courseName: '大号',
  365. choesd: false
  366. },
  367. {
  368. courseName: '声乐',
  369. choesd: false
  370. },
  371. {
  372. courseName: '萨克斯',
  373. choesd: false
  374. },
  375. {
  376. courseName: '单簧管',
  377. choesd: false
  378. },
  379. {
  380. courseName: '吉他',
  381. choesd: false
  382. },
  383. {
  384. courseName: '小号',
  385. choesd: false
  386. },
  387. {
  388. courseName: '古琴',
  389. choesd: false
  390. },
  391. {
  392. courseName: '二胡',
  393. choesd: false
  394. },
  395. {
  396. courseName: '大提琴',
  397. choesd: false
  398. },
  399. {
  400. courseName: '打击乐',
  401. choesd: false
  402. },
  403. {
  404. courseName: '圆号',
  405. choesd: false
  406. },
  407. {
  408. courseName: '中提琴',
  409. choesd: false
  410. },
  411. {
  412. courseName: '竹笛',
  413. choesd: false
  414. },
  415. {
  416. courseName: '架子鼓',
  417. choesd: false
  418. },
  419. {
  420. courseName: '扬琴',
  421. choesd: false
  422. },
  423. {
  424. courseName: '巴松',
  425. choesd: false
  426. }
  427. ],
  428. [{
  429. courseName: '民族舞',
  430. choesd: false
  431. },
  432. {
  433. courseName: '爵士舞',
  434. choesd: false
  435. },
  436. {
  437. courseName: '拉丁舞',
  438. choesd: false
  439. },
  440. {
  441. courseName: '芭蕾舞',
  442. choesd: false
  443. },
  444. {
  445. courseName: '街舞',
  446. choesd: false
  447. },
  448. {
  449. courseName: '现代舞',
  450. choesd: false
  451. },
  452. {
  453. courseName: '踢踏舞',
  454. choesd: false
  455. }
  456. ],
  457. [{
  458. courseName: '本地方言',
  459. choesd: false
  460. },
  461. {
  462. courseName: '日语',
  463. choesd: false
  464. },
  465. {
  466. courseName: '英语口语',
  467. choesd: false
  468. },
  469. {
  470. courseName: '新概念英语',
  471. choesd: false
  472. },
  473. {
  474. courseName: '牛津英语',
  475. choesd: false
  476. },
  477. {
  478. courseName: '西班牙语',
  479. choesd: false
  480. },
  481. {
  482. courseName: '德语',
  483. choesd: false
  484. },
  485. {
  486. courseName: '商务英语',
  487. choesd: false
  488. },
  489. {
  490. courseName: '法语',
  491. choesd: false
  492. },
  493. {
  494. courseName: '韩语',
  495. choesd: false
  496. },
  497. {
  498. courseName: '意大利语',
  499. choesd: false
  500. },
  501. {
  502. courseName: '汉语',
  503. choesd: false
  504. },
  505. {
  506. courseName: '阿拉伯语',
  507. choesd: false
  508. },
  509. {
  510. courseName: 'SBS英语',
  511. choesd: false
  512. },
  513. {
  514. courseName: '俄语',
  515. choesd: false
  516. },
  517. {
  518. courseName: '葡萄牙语',
  519. choesd: false
  520. },
  521. {
  522. courseName: '初中政治',
  523. choesd: false
  524. }
  525. ],
  526. [{
  527. courseName: '羽毛球',
  528. choesd: false
  529. },
  530. {
  531. courseName: '跆拳道',
  532. choesd: false
  533. },
  534. {
  535. courseName: '游泳',
  536. choesd: false
  537. },
  538. {
  539. courseName: '乒乓球',
  540. choesd: false
  541. },
  542. {
  543. courseName: '网球',
  544. choesd: false
  545. },
  546. {
  547. courseName: '中国象棋',
  548. choesd: false
  549. },
  550. {
  551. courseName: '国际象棋',
  552. choesd: false
  553. },
  554. {
  555. courseName: '围棋',
  556. choesd: false
  557. },
  558. {
  559. courseName: '篮球',
  560. choesd: false
  561. },
  562. {
  563. courseName: '空手道',
  564. choesd: false
  565. }
  566. ],
  567. [{
  568. courseName: '卡通画',
  569. choesd: false
  570. },
  571. {
  572. courseName: '中国画',
  573. choesd: false
  574. },
  575. {
  576. courseName: '素描',
  577. choesd: false
  578. },
  579. {
  580. courseName: '油画',
  581. choesd: false
  582. },
  583. {
  584. courseName: '水彩',
  585. choesd: false
  586. },
  587. {
  588. courseName: '漫画',
  589. choesd: false
  590. }
  591. ],
  592. [{
  593. courseName: '硬笔',
  594. choesd: false
  595. },
  596. {
  597. courseName: '毛笔',
  598. choesd: false
  599. },
  600. {
  601. courseName: '篆刻',
  602. choesd: false
  603. }
  604. ],
  605. [{
  606. courseName: 'Scratch',
  607. choesd: false
  608. },
  609. {
  610. courseName: 'Python',
  611. choesd: false
  612. },
  613. {
  614. courseName: 'C++',
  615. choesd: false
  616. },
  617. {
  618. courseName: 'microbit',
  619. choesd: false
  620. }
  621. ],
  622. [{
  623. courseName: '应用能力初级',
  624. choesd: false
  625. },
  626. {
  627. courseName: '应用能力中级',
  628. choesd: false
  629. },
  630. {
  631. courseName: '基本操作',
  632. choesd: false
  633. }
  634. ],
  635. [{
  636. courseName: '学习习惯',
  637. choesd: false
  638. },
  639. {
  640. courseName: '口才',
  641. choesd: false
  642. },
  643. {
  644. courseName: '心理辅导',
  645. choesd: false
  646. },
  647. {
  648. courseName: '记忆力',
  649. choesd: false
  650. },
  651. {
  652. courseName: '注意力',
  653. choesd: false
  654. }
  655. ]
  656. ],
  657. // 辅导方式
  658. teachPositions: [{
  659. opType: '老师上门',
  660. choesd: false
  661. },
  662. {
  663. opType: '学员上门',
  664. choesd: false
  665. }, {
  666. opType: '线上辅导',
  667. choesd: false
  668. }, {
  669. opType: '老师住家',
  670. choesd: false
  671. },
  672. {
  673. opType: '学员住家',
  674. choesd: false
  675. }
  676. ],
  677. // 学生性别
  678. stuSexList: [{
  679. gender: '男',
  680. choesd: false
  681. },
  682. {
  683. gender: '女',
  684. choesd: false
  685. }
  686. ]
  687. },
  688. /**
  689. * 生命周期函数--监听页面加载
  690. */
  691. onLoad(options) {
  692. },
  693. // 获取学生姓名
  694. getStuName(e) {
  695. // console.log(e.detail.value)
  696. this.setData({
  697. stuName: e.detail.value
  698. })
  699. // console.log(this.data.stuName)
  700. },
  701. // 获取学生手机号码
  702. getStuPhone(e) {
  703. this.setData({
  704. stuPhoneNum: e.detail.value
  705. })
  706. },
  707. //获取学生微信号码
  708. getStuWeChat(e) {
  709. this.setData({
  710. stuWeChatNum: e.detail.value
  711. })
  712. },
  713. // 课程类别
  714. // 打开课程类别(大类)选项区
  715. chooseCourseTitle() {
  716. this.setData({
  717. showCourseTitle: true,
  718. chosedCourseDetail: ''
  719. })
  720. },
  721. // 定义退出下拉选区的方法
  722. hiddenCourseTitle() {
  723. this.setData({
  724. showCourseTitle: false
  725. })
  726. },
  727. // 从下拉区选择课程类别内容
  728. onChooseCourseTitle(e) {
  729. let index = e.currentTarget.dataset.index
  730. let courseList = this.data.courseList
  731. for (let i = 0; i < courseList.length; i++) {
  732. if (i == index) {
  733. courseList[i].chosed = !courseList[i].chosed
  734. } else {
  735. courseList[i].chosed = false
  736. }
  737. }
  738. this.setData({
  739. courseList
  740. })
  741. },
  742. // 确定按钮的点击事件
  743. confirmCourseTitle() {
  744. let courseList = this.data.courseList
  745. let index
  746. for (let i = 0; i < courseList.length; i++) {
  747. if (courseList[i].chosed) {
  748. index = i
  749. }
  750. }
  751. let chosedCourse = courseList[index]?.name || ''
  752. let courseChosedIndex = index
  753. this.setData({
  754. chosedCourse,
  755. courseChosedIndex
  756. })
  757. // console.log('courseChosedIndex:' + courseChosedIndex)
  758. // let courseDetail = this.data.courseDetail
  759. // console.log('courseDetail:'+courseDetail[courseChosedIndex])
  760. this.hiddenCourseTitle()
  761. },
  762. // 课程细分(小类)选择
  763. // 打开课程细分选项区
  764. toCourseDetail() {
  765. if (!this.data.chosedCourse) {
  766. wx.showToast({
  767. title: '请先选择课程类别',
  768. icon: 'none'
  769. })
  770. return
  771. }
  772. this.setData({
  773. showCourseDetail: true
  774. })
  775. },
  776. // 定义退出课程细分选区的方法
  777. hiddenCourseDetail() {
  778. this.setData({
  779. showCourseDetail: false
  780. })
  781. },
  782. // 从下拉区选择课程细分内容
  783. onChooseCourseDetail(e) {
  784. let index = e.currentTarget.dataset.index
  785. let courseDetail = this.data.courseDetail
  786. let courseChosedIndex = this.data.courseChosedIndex
  787. for (let i = 0; i < courseDetail[courseChosedIndex].length; i++) {
  788. if (i == index) {
  789. courseDetail[courseChosedIndex][i].chosed = !courseDetail[courseChosedIndex][i].chosed
  790. } else {
  791. courseDetail[courseChosedIndex][i].chosed = false
  792. }
  793. }
  794. this.setData({
  795. courseDetail
  796. })
  797. },
  798. // 确定按钮的点击事件
  799. confirmCourseDetail() {
  800. let courseDetail = this.data.courseDetail
  801. let courseChosedIndex = this.data.courseChosedIndex
  802. let index
  803. for (let i = 0; i < courseDetail[courseChosedIndex].length; i++) {
  804. if (courseDetail[courseChosedIndex][i].chosed) {
  805. index = i
  806. }
  807. }
  808. let chosedCourseDetail = courseDetail[courseChosedIndex][index]?.courseName || ''
  809. this.setData({
  810. chosedCourseDetail
  811. })
  812. this.hiddenCourseDetail()
  813. },
  814. // 辅导方式
  815. // 打开辅导方式选项区
  816. toTeachPosition() {
  817. this.setData({
  818. chosedTeachPosition: true
  819. })
  820. },
  821. // 关闭辅导方式选项区的方法
  822. hiddenTeachPosition() {
  823. this.setData({
  824. chosedTeachPosition: false
  825. })
  826. },
  827. // 从下拉选区选择内容
  828. onTeachPosition(e) {
  829. let index = e.currentTarget.dataset.index
  830. let teachPositions = this.data.teachPositions
  831. for (let i = 0; i < teachPositions.length; i++) {
  832. if (i == index) {
  833. teachPositions[i].chosed = !teachPositions[i].chosed
  834. } else {
  835. teachPositions[i].chosed = false
  836. }
  837. }
  838. this.setData({
  839. teachPositions
  840. })
  841. },
  842. // 确定按钮点击事件
  843. confirmTeachPosition() {
  844. let teachPositions = this.data.teachPositions
  845. let index
  846. for (let i = 0; i < teachPositions.length; i++) {
  847. if (teachPositions[i].chosed) {
  848. index = i
  849. }
  850. }
  851. let teachPosition = teachPositions[index]?.opType || ''
  852. this.setData({
  853. teachPosition
  854. })
  855. this.hiddenTeachPosition()
  856. },
  857. // 选择学生性别
  858. // 打开学生性别选项区
  859. chooseStuSex() {
  860. this.setData({
  861. chosedStuSex: true
  862. })
  863. },
  864. // 关闭学生性别选项区的方法
  865. hiddenStuSex() {
  866. this.setData({
  867. chosedStuSex: false
  868. })
  869. },
  870. // 从下拉选区选择内容
  871. onChosedStuSex(e) {
  872. let index = e.currentTarget.dataset.index
  873. let stuSexList = this.data.stuSexList
  874. for (let i = 0; i < stuSexList.length; i++) {
  875. if (i == index) {
  876. stuSexList[i].chosed = !stuSexList[i].chosed
  877. } else {
  878. stuSexList[i].chosed = false
  879. }
  880. }
  881. this.setData({
  882. stuSexList
  883. })
  884. },
  885. // 确定按钮点击事件
  886. confirmChosedStuSex() {
  887. let stuSexList = this.data.stuSexList
  888. let index
  889. for (let i = 0; i < stuSexList.length; i++) {
  890. if (stuSexList[i].chosed) {
  891. index = i
  892. }
  893. }
  894. let stuSex = stuSexList[index]?.gender|| ''
  895. this.setData({
  896. stuSex
  897. })
  898. this.hiddenStuSex()
  899. },
  900. // 提交
  901. toSubmit() {
  902. wx.setStorageSync('student', {
  903. stuName: this.data.stuName,
  904. stuPhoneNum: this.data.stuPhoneNum,
  905. stuWeChatNum: this.data.stuWeChatNum,
  906. chosedCourse: this.data.chosedCourse,
  907. chosedCourseDetail: this.data.chosedCourseDetail,
  908. teachPosition: this.data.teachPosition,
  909. stuSex: this.data.stuSex
  910. })
  911. wx.showToast({
  912. title: '提交成功',
  913. })
  914. },
  915. /**
  916. * 生命周期函数--监听页面初次渲染完成
  917. */
  918. onReady() {
  919. },
  920. /**
  921. * 生命周期函数--监听页面显示
  922. */
  923. onShow() {
  924. },
  925. /**
  926. * 生命周期函数--监听页面隐藏
  927. */
  928. onHide() {
  929. },
  930. /**
  931. * 生命周期函数--监听页面卸载
  932. */
  933. onUnload() {
  934. },
  935. /**
  936. * 页面相关事件处理函数--监听用户下拉动作
  937. */
  938. onPullDownRefresh() {
  939. },
  940. /**
  941. * 页面上拉触底事件的处理函数
  942. */
  943. onReachBottom() {
  944. },
  945. /**
  946. * 用户点击右上角分享
  947. */
  948. onShareAppMessage() {
  949. }
  950. })