teacherList.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784
  1. // pages/teacherList/teacherList.js
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. toSearch: false, //是否打开找老师的筛选区
  8. courseChosedIndex: '', //选中科目的索引
  9. showCourse: false, //科目选项区是否显示
  10. courseDetailChosed: '', //课程详情筛选条件
  11. courseDetailIndex: '', //选中课程详情的索引
  12. showCourseDetail: false, //课程详情选项区是否显示
  13. teachIdChosed: '', //老师身份的筛选条件
  14. showTeachId: false, //老师身份选项区是否显示
  15. teachEduChosed: '', //老师学历的筛选条件
  16. showTeachEdu: false, //老师学历选项区是否显示
  17. teachSexChosed: '', //老师性别的筛选条件
  18. showTeachSex: false, //老师性别选项区是否显示
  19. schoolChosed: '', //老师大学的筛选条件
  20. showSchool: false, //老师大学选项区是否显示
  21. teachImgChosed: '', //老师照片的筛选条件
  22. showTeachImg: false, //老师照片选项区是否显示
  23. searchList: [1], //搜索条件汇总
  24. // 筛选条件
  25. // 1、科目
  26. courseList: ['小学', '初中', '高中', '大学', '音乐', '舞蹈', '语言', '体育', '美术', '书法', '少儿编程', '计算机', '其他'],
  27. // 课程详情
  28. courseDetail: [
  29. ['小学1-5数学', '小学1-5英语', '小学1-5语文', '小学6数学', '小学6英语', '小学6语文', '小学奥数'],
  30. ['初一初二语文', '初一初二数学', '初一初二英语', '初一初二物理', '初一初二化学', '初三语文', '初三数学', '初三英语', '初三物理', '初三化学', '初中历史', '初中地理', '初中奥数', '初中生物', '初中预备班', '初中科学', '初中政治'],
  31. ['高一高二语文', '高一高二数学', '高一高二英语', '高一高二物理', '高一高二化学', '高三语文', '高三数学', '高三英语', '高三物理', '高三化学', '高中历史', '高中地理', '高中政治', '高中生物', '信息科技', 'SAT'],
  32. ['托福', '雅思', '高等数学', '微观经济学', 'MBA', '成人高考', '国学', '自学考试', '专升本', '考博面试辅导', '考博专业课', '考博英语', '英语四级', '英语六级', '论文指导', '考研专业课', '考研政治', '考研数学', '考研英语', '英语专业四级', '英语专业八级', '课程辅导'],
  33. ['小提琴', '钢琴', '电子琴', '长笛', '琵琶', '手风琴', '古筝', '练耳歌唱', '大号', '声乐', '萨克斯', '单簧管', '吉他', '小号', '古琴', '二胡', '大提琴', '打击乐', '圆号', '中提琴', '竹笛', '架子鼓', '扬琴', '巴松'],
  34. ['民族舞', '爵士舞', '拉丁舞', '芭蕾舞', '街舞', '现代舞', '踢踏舞'],
  35. ['本地方言', '日语', '英语口语', '新概念英语', '牛津英语', '西班牙语', '德语', '商务英语', '法语', '韩语', '意大利语', '汉语', '阿拉伯语', 'SBS英语', '俄语', '葡萄牙语'],
  36. ['羽毛球', '跆拳道', '游泳', '乒乓球', '网球', '中国象棋', '国际象棋', '围棋', '篮球', '空手道'],
  37. ['卡通画', '中国画', '素描', '油画', '水彩', '漫画'],
  38. ['硬笔', '毛笔', '篆刻'],
  39. ['Scratch', 'Python', 'C++', 'microbit'],
  40. ['应用能力初级', '应用能力中级', '基本操作'],
  41. ['学习习惯', '口才', '心理辅导', '记忆力', '注意力']
  42. ],
  43. // 2、老师身份
  44. teachId: ['不限', '专业老师', '在校大学生'],
  45. // 3、学历
  46. educationList: ['不限', '博士毕业', '博士在读', '硕士毕业', '硕士在读', '本科毕业', '本科在读', '专科毕业', '专科在读'],
  47. // 4、老师性别
  48. teachSex: ['不限', '男', '女'],
  49. // 5、大学列表,从遍历老师列表获取
  50. schoolList: [],
  51. // 6、老师照片选项
  52. teachImgOptions: ['不限', '有照片'],
  53. // 模拟后台读取的老师信息列表
  54. teachLists: [
  55. [{
  56. imgUrl: '../../images/zly.jpeg'
  57. },
  58. {
  59. firstName: '赵'
  60. },
  61. {
  62. lastName: '丽颖'
  63. },
  64. {
  65. sex: '女'
  66. },
  67. {
  68. id: '专业老师'
  69. },
  70. {
  71. teachEdu: '专科毕业'
  72. },
  73. {
  74. school: '四川大学'
  75. },
  76. {
  77. date: '2022-7-8'
  78. },
  79. {
  80. teachYear: '5'
  81. },
  82. {
  83. suc: '20'
  84. },
  85. {
  86. newDate: '2022年8月8日'
  87. },
  88. {
  89. ncd: '小学1-5数学'
  90. },
  91. {
  92. cList: '小学1-5数学'
  93. },
  94. {
  95. cType: '小学'
  96. },
  97. {
  98. selfIntroduce: ''
  99. }
  100. ],
  101. [{
  102. imgUrl: '../../images/zly.jpeg'
  103. },
  104. {
  105. firstName: '钱'
  106. },
  107. {
  108. lastName: '多多'
  109. },
  110. {
  111. sex: '女'
  112. },
  113. {
  114. id: '在校大学生'
  115. },
  116. {
  117. teachEdu: '本科在读'
  118. },
  119. {
  120. school: '电子科技大学'
  121. },
  122. {
  123. date: '2022-9-21'
  124. },
  125. {
  126. teachYear: '2'
  127. },
  128. {
  129. suc: '10'
  130. },
  131. {
  132. newDate: '2022年8月8日'
  133. },
  134. {
  135. ncd: '初一初二英语'
  136. },
  137. {
  138. cList: '小学1-5语文,初一初二英语'
  139. },
  140. {
  141. cType: '小学'
  142. },
  143. {
  144. selfIntroduce: '什么都教'
  145. }
  146. ],
  147. [{
  148. imgUrl: ''
  149. },
  150. {
  151. firstName: '孙'
  152. },
  153. {
  154. lastName: '悟空'
  155. },
  156. {
  157. sex: '男'
  158. },
  159. {
  160. id: '在校大学生'
  161. },
  162. {
  163. teachEdu: '本科在读'
  164. },
  165. {
  166. school: '西南交通大学'
  167. },
  168. {
  169. date: '2022-9-21'
  170. },
  171. {
  172. teachYear: '2'
  173. },
  174. {
  175. suc: '10'
  176. },
  177. {
  178. newDate: '2022年8月8日'
  179. },
  180. {
  181. ncd: '初一初二英语'
  182. },
  183. {
  184. cList: '小学1-5语文,初一初二英语'
  185. },
  186. {
  187. cType: '小学,初中'
  188. },
  189. {
  190. selfIntroduce: '喜欢打怪'
  191. }
  192. ],
  193. [{
  194. imgUrl: ''
  195. },
  196. {
  197. firstName: '李'
  198. },
  199. {
  200. lastName: '子'
  201. },
  202. {
  203. sex: '女'
  204. },
  205. {
  206. id: '专业老师'
  207. },
  208. {
  209. teachEdu: '本科毕业'
  210. },
  211. {
  212. school: '四川师范大学'
  213. },
  214. {
  215. date: '2022-9-21'
  216. },
  217. {
  218. teachYear: '4'
  219. },
  220. {
  221. suc: '8'
  222. },
  223. {
  224. newDate: '2022年8月8日'
  225. },
  226. {
  227. ncd: '高一高二语文'
  228. },
  229. {
  230. cList: '高一高二语文'
  231. },
  232. {
  233. cType: '高中'
  234. },
  235. {
  236. selfIntroduce: '自信满满的一天'
  237. }
  238. ],
  239. [{
  240. imgUrl: '../../images/zly.jpeg'
  241. },
  242. {
  243. firstName: '赵'
  244. },
  245. {
  246. lastName: '丽颖'
  247. },
  248. {
  249. sex: '女'
  250. },
  251. {
  252. id: '专业老师'
  253. },
  254. {
  255. teachEdu: '专科毕业'
  256. },
  257. {
  258. school: '四川大学'
  259. },
  260. {
  261. date: '2022-7-8'
  262. },
  263. {
  264. teachYear: '5'
  265. },
  266. {
  267. suc: '20'
  268. },
  269. {
  270. newDate: '2022年8月8日'
  271. },
  272. {
  273. ncd: '小学1-5数学'
  274. },
  275. {
  276. cList: '小学1-5数学'
  277. },
  278. {
  279. cType: '小学'
  280. },
  281. {
  282. selfIntroduce: ''
  283. }
  284. ],
  285. [{
  286. imgUrl: '../../images/zly.jpeg'
  287. },
  288. {
  289. firstName: '赵'
  290. },
  291. {
  292. lastName: '丽颖'
  293. },
  294. {
  295. sex: '女'
  296. },
  297. {
  298. id: '专业老师'
  299. },
  300. {
  301. teachEdu: '专科毕业'
  302. },
  303. {
  304. school: '电子科技大学'
  305. },
  306. {
  307. date: '2022-7-8'
  308. },
  309. {
  310. teachYear: '5'
  311. },
  312. {
  313. suc: '20'
  314. },
  315. {
  316. newDate: '2022年8月8日'
  317. },
  318. {
  319. ncd: '小学1-5数学'
  320. },
  321. {
  322. cList: '小学1-5数学'
  323. },
  324. {
  325. cType: '小学'
  326. },
  327. {
  328. selfIntroduce: ''
  329. }
  330. ],
  331. [{
  332. imgUrl: ''
  333. },
  334. {
  335. firstName: '孙'
  336. },
  337. {
  338. lastName: '悟空'
  339. },
  340. {
  341. sex: '男'
  342. },
  343. {
  344. id: '在校大学生'
  345. },
  346. {
  347. teachEdu: '本科在读'
  348. },
  349. {
  350. school: '西南交通大学'
  351. },
  352. {
  353. date: '2022-9-21'
  354. },
  355. {
  356. teachYear: '2'
  357. },
  358. {
  359. suc: '10'
  360. },
  361. {
  362. newDate: '2022年8月8日'
  363. },
  364. {
  365. ncd: '初一初二英语'
  366. },
  367. {
  368. cList: '小学1-5语文,初一初二英语'
  369. },
  370. {
  371. cType: '小学,初中'
  372. },
  373. {
  374. selfIntroduce: '喜欢打怪'
  375. }
  376. ],
  377. [{
  378. imgUrl: ''
  379. },
  380. {
  381. firstName: '李'
  382. },
  383. {
  384. lastName: '子'
  385. },
  386. {
  387. sex: '女'
  388. },
  389. {
  390. id: '专业老师'
  391. },
  392. {
  393. teachEdu: '本科毕业'
  394. },
  395. {
  396. school: '成都大学'
  397. },
  398. {
  399. date: '2022-9-21'
  400. },
  401. {
  402. teachYear: '4'
  403. },
  404. {
  405. suc: '8'
  406. },
  407. {
  408. newDate: '2022年8月8日'
  409. },
  410. {
  411. ncd: '高一高二语文'
  412. },
  413. {
  414. cList: '高一高二语文'
  415. },
  416. {
  417. cType: '高中'
  418. },
  419. {
  420. selfIntroduce: '自信满满的一天'
  421. }
  422. ],
  423. ]
  424. },
  425. /**
  426. * 生命周期函数--监听页面加载
  427. */
  428. onLoad(options) {
  429. // 遍历老师列表,获取大学信息
  430. let teachLists = this.data.teachLists
  431. let schoolList = this.data.schoolList
  432. // 遍历老师列表
  433. for (let i = 0; i < teachLists.length; i++) {
  434. // 遍历每个老师信息
  435. for (let j = 0; j < teachLists[i].length; j++) {
  436. // 判断每个老师信息中大学是否存在,如果存在,写入数组
  437. if (teachLists[i][j].school) {
  438. // console.log(teachLists[i][j].school);
  439. schoolList[i] = teachLists[i][j].school
  440. }
  441. }
  442. }
  443. // console.log(schoolList);
  444. // 大学去重
  445. for (let i = 0; i < schoolList.length - 1; i++) {
  446. // console.log(schoolList[i]);
  447. for (let j = i + 1; j < schoolList.length; j++) {
  448. // console.log(schoolList[j]);
  449. if (schoolList[i] == schoolList[j]) {
  450. schoolList.splice(j, 1)
  451. j--
  452. }
  453. }
  454. }
  455. // console.log(schoolList);
  456. this.setData({
  457. schoolList
  458. })
  459. },
  460. // 跳转到老师详情页
  461. toTeachDetail() {
  462. wx.redirectTo({
  463. url: '/pages/teachDetail/teachDetail',
  464. })
  465. },
  466. // 打开找老师的筛选区
  467. toOpenSearch() {
  468. let toSearch = this.data.toSearch
  469. this.setData({
  470. toSearch: !toSearch
  471. })
  472. // 判断打开找老师的筛选区的条件是否为false,如果是,则关闭所有选项的筛选区
  473. if (!this.data.toSearch) {
  474. this.setData({
  475. showTeachId: false,
  476. showCourse: false,
  477. showCourseDetail: false,
  478. showTeachEdu: false,
  479. showTeachSex: false,
  480. showSchool: false,
  481. showTeachImg: false
  482. })
  483. }
  484. },
  485. // 科目筛选项
  486. // 打开科目选项区,关闭其他选项区
  487. chooseCourse() {
  488. let showCourse = this.data.showCourse
  489. this.setData({
  490. showTeachId: false,
  491. showCourse: !showCourse,
  492. showCourseDetail: false,
  493. showTeachEdu: false,
  494. showTeachSex: false,
  495. showSchool: false,
  496. showTeachImg: false
  497. })
  498. },
  499. // 选择科目大类
  500. chosedCourse(e) {
  501. // console.log(e.currentTarget.dataset.index);
  502. let courseChosedIndex = e.currentTarget.dataset.index
  503. this.setData({
  504. courseChosedIndex,
  505. showCourseDetail: true
  506. })
  507. // console.log(this.data.courseChosedIndex);
  508. },
  509. // 选择课程详情
  510. chosedCourseDetail(e) {
  511. // console.log(e.currentTarget.dataset.index);
  512. let index = e.currentTarget.dataset.index
  513. let courseDetail = this.data.courseDetail
  514. let courseChosedIndex = this.data.courseChosedIndex
  515. // let courseDetailChosed = this.data.courseDetailChosed
  516. this.setData({
  517. courseDetailChosed: courseDetail[courseChosedIndex][index],
  518. showCourseDetail: false,
  519. showCourse: false,
  520. courseDetailIndex: index
  521. })
  522. console.log(this.data.courseDetailChosed);
  523. },
  524. // 课程详情取消图标的功能
  525. cancelChooseCourse() {
  526. this.setData({
  527. courseDetailChosed: ''
  528. })
  529. },
  530. // 老师身份筛选项
  531. // 打开老师身份选项区,关闭其他选项区
  532. chooseTeachId() {
  533. let showTeachId = this.data.showTeachId
  534. this.setData({
  535. showTeachId: !showTeachId,
  536. showCourse: false,
  537. showCourseDetail: false,
  538. showTeachEdu: false,
  539. showTeachSex: false,
  540. showSchool: false,
  541. showTeachImg: false
  542. })
  543. },
  544. // 选择老师身份
  545. toChosedTeachId(e) {
  546. // console.log(e);
  547. let index = e.currentTarget.dataset.index
  548. let teachIdChosed = this.data.teachIdChosed
  549. let teachId = this.data.teachId
  550. for (let i = 0; i < teachId.length; i++) {
  551. if (i == index) {
  552. teachIdChosed = teachId[i]
  553. }
  554. }
  555. this.setData({
  556. teachIdChosed,
  557. showTeachId: false
  558. })
  559. },
  560. // 老师身份取消图标的功能
  561. cancelChooseTeachId() {
  562. this.setData({
  563. teachIdChosed: ''
  564. })
  565. },
  566. // 老师学历筛选项
  567. // 打开老师学历选项区,关闭其他选项区
  568. chooseTeachEdu() {
  569. let showTeachEdu = this.data.showTeachEdu
  570. this.setData({
  571. showTeachId: false,
  572. showCourse: false,
  573. showCourseDetail: false,
  574. showTeachEdu: !showTeachEdu,
  575. showTeachSex: false,
  576. showSchool: false,
  577. showTeachImg: false
  578. })
  579. },
  580. // 选择老师学历
  581. toChosedTeachEdu(e) {
  582. let index = e.currentTarget.dataset.index
  583. let teachEduChosed = this.data.teachEduChosed
  584. let educationList = this.data.educationList
  585. for (let i = 0; i < educationList.length; i++) {
  586. if (i == index) {
  587. teachEduChosed = educationList[i]
  588. }
  589. }
  590. this.setData({
  591. teachEduChosed,
  592. showTeachEdu: false
  593. })
  594. },
  595. // 老师学历取消图标的功能
  596. cancelChooseTeachEdu() {
  597. this.setData({
  598. teachEduChosed: ''
  599. })
  600. },
  601. // 选择老师性别筛选项
  602. // 打开老师性别选项区,关闭其他选项区
  603. chooseTeachSex() {
  604. let showTeachSex = this.data.showTeachSex
  605. this.setData({
  606. showTeachId: false,
  607. showCourse: false,
  608. showCourseDetail: false,
  609. showTeachEdu: false,
  610. showTeachSex: !showTeachSex,
  611. showSchool: false,
  612. showTeachImg: false
  613. })
  614. },
  615. // 选择老师性别
  616. toChosedTeachSex(e) {
  617. let index = e.currentTarget.dataset.index
  618. let teachSexChosed = this.data.teachSexChosed
  619. let teachSex = this.data.teachSex
  620. for (let i = 0; i < teachSex.length; i++) {
  621. if (i == index) {
  622. teachSexChosed = teachSex[i]
  623. }
  624. }
  625. this.setData({
  626. teachSexChosed,
  627. showTeachSex: false
  628. })
  629. },
  630. // 老师性别取消图标的功能
  631. cancelChooseTeachSex() {
  632. this.setData({
  633. teachSexChosed: ''
  634. })
  635. },
  636. // 大学筛选项
  637. // 打开大学筛选选项区,关闭其他选项区
  638. chooseSchool() {
  639. let showSchool = this.data.showSchool
  640. this.setData({
  641. showTeachId: false,
  642. showCourse: false,
  643. showCourseDetail: false,
  644. showTeachEdu: false,
  645. showTeachSex: false,
  646. showSchool: !showSchool,
  647. showTeachImg: false
  648. })
  649. },
  650. // 选择大学
  651. toChosedSchool(e) {
  652. let index = e.currentTarget.dataset.index
  653. let schoolChosed = this.data.schoolChosed
  654. let schoolList = this.data.schoolList
  655. for (let i = 0; i < schoolList.length; i++) {
  656. if (i == index) {
  657. schoolChosed = schoolList[i]
  658. }
  659. }
  660. this.setData({
  661. schoolChosed,
  662. showSchool: false
  663. })
  664. },
  665. // 大学取消图标的功能
  666. cancelChooseSchool() {
  667. this.setData({
  668. schoolChosed: ''
  669. })
  670. },
  671. // 老师照片筛选项
  672. // 打开老师照片选项区,关闭其他选项区
  673. chooseTeachImg() {
  674. let showTeachImg = this.data.showTeachImg
  675. this.setData({
  676. showTeachImg: !showTeachImg,
  677. showTeachId: false,
  678. showCourse: false,
  679. showCourseDetail: false,
  680. showTeachEdu: false,
  681. showTeachSex: false,
  682. showSchool: false
  683. })
  684. },
  685. // 选择老师照片筛选条件
  686. toChosedTeachImg(e) {
  687. let index = e.currentTarget.dataset.index
  688. let teachImgChosed = this.data.teachImgChosed
  689. let teachImgOptions = this.data.teachImgOptions
  690. for (let i = 0; i < teachImgOptions.length; i++) {
  691. if (i == index) {
  692. teachImgChosed = teachImgOptions[i]
  693. }
  694. }
  695. this.setData({
  696. teachImgChosed,
  697. showTeachImg: false
  698. })
  699. },
  700. // 老师照片取消图标的功能
  701. cancelChooseTeachImg() {
  702. this.setData({
  703. teachImgChosed: ''
  704. })
  705. },
  706. // 清除选择按钮
  707. clearOptions() {
  708. this.setData({
  709. courseChosedIndex: '',
  710. courseDetailIndex: '',
  711. courseDetailChosed: '',
  712. teachIdChosed: '',
  713. teachEduChosed: '',
  714. teachSexChosed: '',
  715. schoolChosed: '',
  716. teachImgChosed: ''
  717. })
  718. },
  719. /**
  720. * 生命周期函数--监听页面初次渲染完成
  721. */
  722. onReady() {
  723. },
  724. /**
  725. * 生命周期函数--监听页面显示
  726. */
  727. onShow() {
  728. },
  729. /**
  730. * 生命周期函数--监听页面隐藏
  731. */
  732. onHide() {
  733. },
  734. /**
  735. * 生命周期函数--监听页面卸载
  736. */
  737. onUnload() {
  738. },
  739. /**
  740. * 页面相关事件处理函数--监听用户下拉动作
  741. */
  742. onPullDownRefresh() {
  743. },
  744. /**
  745. * 页面上拉触底事件的处理函数
  746. */
  747. onReachBottom() {
  748. wx.showToast({
  749. title: '没有更多了',
  750. icon: 'none'
  751. })
  752. },
  753. /**
  754. * 用户点击右上角分享
  755. */
  756. onShareAppMessage() {
  757. }
  758. })