teacherList.js 22 KB

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