index.ts 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. import { api_schoolAreaDetail, api_schoolAreaList, api_sysAreaQueryAllProvince, api_userBeneficiarySave, api_userBeneficiaryUpdate } from "../../api/new";
  2. import { GRADE_ENUM } from "../../utils/util";
  3. const classList: any = [];
  4. for (let i = 1; i <= 40; i++) {
  5. classList.push({ text: i + '班', value: i });
  6. }
  7. /** 获取年级 */
  8. const getGradeList = (gradeYear?: string, instrumentCode?: string) => {
  9. let tempList: any = [];
  10. const five = [
  11. { text: '一年级', value: 1, instrumentCode },
  12. { text: '二年级', value: 2, instrumentCode },
  13. { text: '三年级', value: 3, instrumentCode },
  14. { text: '四年级', value: 4, instrumentCode },
  15. { text: '五年级', value: 5, instrumentCode }
  16. ];
  17. const one = [{ text: '六年级', value: 6, instrumentCode }];
  18. const three = [
  19. { text: '七年级', value: 7, instrumentCode },
  20. { text: '八年级', value: 8, instrumentCode },
  21. { text: '九年级', value: 9, instrumentCode }
  22. ];
  23. if (gradeYear === 'FIVE_YEAR_SYSTEM') {
  24. tempList.push(...[...five]);
  25. } else if (gradeYear === 'SIX_YEAR_SYSTEM') {
  26. tempList.push(...[...five, ...one]);
  27. } else if (gradeYear === 'THREE_YEAR_SYSTEM') {
  28. tempList.push(...[...three]);
  29. } else if (gradeYear === 'FORE_YEAR_SYSTEM') {
  30. tempList.push(...[...one, ...three]);
  31. } else {
  32. tempList.push(...[...five, ...one, ...three]);
  33. }
  34. return tempList;
  35. };
  36. // pages/buyerInformation/index.ts
  37. Page({
  38. /**
  39. * 页面的初始数据
  40. */
  41. data: {
  42. phone: '',
  43. name: '',
  44. gender: '1',
  45. schoolAreaId: '',
  46. schoolAreaName: '',
  47. currentGradeClassTxt: '',
  48. currentClass: null,
  49. currentGradeNum: null,
  50. cityCode: null,
  51. cityName: "",
  52. provinceCode: null,
  53. provinceName: "",
  54. regionCode: null,
  55. regionName: "",
  56. cacheArea: [] as { cityCode: string, shiftCityCode: string }[], // 临时存储的对应关系
  57. userBeneficiaryId: '', // 选中用户的编号
  58. showArea: false,
  59. areaList: [] as any,
  60. showSchool: false,
  61. showSchoolAfterLeave: false, // 离开后
  62. /** 学校列表 */
  63. schoolAreaList: [] as any,
  64. schoolAreaIndex: 0,
  65. /** 临时切换时选择的学校编号 */
  66. tempChangeSchoolAreaId: '',
  67. schoolLoading: false,
  68. /** 搜索学校 */
  69. searchName: '',
  70. /** 学校类型 */
  71. schoolInstrumentSetType: '',
  72. /** 年级班级 */
  73. gradeClassList: [] as any,
  74. gradeClassIndexs: [0, 0],
  75. showGradeClass: false,
  76. showGradeClassAfterLeave: false, // 离开后
  77. showAreaAfterLeave: false, // 所在地区
  78. },
  79. /**
  80. * 生命周期函数--监听页面加载
  81. */
  82. onLoad(options: any) {
  83. if (options.userBeneficiaryId) {
  84. this.setData({
  85. userBeneficiaryId: options.userBeneficiaryId
  86. })
  87. }
  88. // 从缓存里面获取用户信息
  89. this.getUserDetail()
  90. this.getAreas()
  91. this.getSchools()
  92. },
  93. async getUserDetail() {
  94. try {
  95. const information = wx.getStorageSync('buyerInfomation')
  96. const users = information ? JSON.parse(information) : null
  97. if (users) {
  98. this.setData({
  99. phone: users.phone,
  100. name: users.name,
  101. gender: users.gender,
  102. schoolAreaId: users.schoolAreaId,
  103. schoolAreaName: users.schoolAreaName,
  104. currentGradeClassTxt: users.currentGradeClassTxt,
  105. currentClass: users.currentClass,
  106. currentGradeNum: users.currentGradeNum,
  107. cityCode: users.cityCode,
  108. cityName: users.cityName,
  109. provinceCode: users.provinceCode,
  110. provinceName: users.provinceName,
  111. regionCode: users.regionCode,
  112. regionName: users.regionName,
  113. schoolAreaIndex: users.schoolAreaIndex || 0,
  114. gradeClassIndexs: users.gradeClassIndexs || [0, 0]
  115. }, () => {
  116. this.getSchoolAreaDetail()
  117. })
  118. }
  119. } catch {
  120. //
  121. }
  122. },
  123. onBack() {
  124. // 如果有购买人编号,返回时则不缓存数据
  125. if (!this.data.userBeneficiaryId) {
  126. this.onSetCatch(this.data)
  127. }
  128. wx.navigateBack()
  129. },
  130. /**
  131. * 生命周期函数--监听页面初次渲染完成
  132. */
  133. onReady() {
  134. },
  135. /**
  136. * 生命周期函数--监听页面显示
  137. */
  138. onShow() {
  139. },
  140. /** 获取省市区 */
  141. async getAreas() {
  142. try {
  143. const { data } = await api_sysAreaQueryAllProvince({})
  144. this.setData({
  145. areaList: this.formateArea(data.data)
  146. }, () => {
  147. console.log(this.data.areaList)
  148. })
  149. } catch {
  150. //
  151. }
  152. },
  153. formateArea(area: any[]) {
  154. const province_list: { [_: string]: string } = {};
  155. const city_list: { [_: string]: string } = {};
  156. const county_list: { [_: string]: string } = {};
  157. area.forEach((item: any) => {
  158. province_list[item.code] = item.name;
  159. });
  160. area.forEach((item: any) => {
  161. item.areas && item.areas.forEach((city: any, index: number) => {
  162. let code = city.code + ""
  163. // 某些数据不标准 这里需要转换一下
  164. if (code[4] !== "0" || code[5] !== "0") {
  165. // 现在把区域的数据改为市的
  166. const newCode = code.substring(0, 2) + (index < 10 ? `a${index}` : index < 20 ? `b${index - 10}` : index < 30 ? `c${index - 20}` : `d${index - 30}`) + "00";
  167. this.data.cacheArea.push({
  168. cityCode: code,
  169. shiftCityCode: newCode
  170. })
  171. code = newCode
  172. }
  173. city_list[code] = city.name;
  174. });
  175. });
  176. area.forEach((item: any) => {
  177. item.areas && item.areas.forEach((city: any) => {
  178. city.areas && city.areas.forEach((county: any) => {
  179. county_list[county.code] = county.name;
  180. });
  181. });
  182. });
  183. return {
  184. province_list,
  185. city_list,
  186. county_list
  187. };
  188. },
  189. // 转换
  190. formateCityCode(reverse?: boolean) {
  191. if (!this.data.regionCode && this.data.cityCode) {
  192. const cityCodeObj = this.data.cacheArea.find((item: any) => {
  193. return item[reverse ? "cityCode" : "shiftCityCode"] == this.data.cityCode
  194. })
  195. return cityCodeObj ? cityCodeObj[reverse ? "shiftCityCode" : "cityCode"] : ""
  196. }
  197. return this.data.cityCode
  198. },
  199. /** 获取学校列表 */
  200. async getSchools(name?: string) {
  201. this.setData({
  202. schoolLoading: true
  203. })
  204. try {
  205. // 判断是否有地区信息
  206. if (!this.data.provinceCode || !this.data.cityCode) {
  207. return
  208. }
  209. const citycode = this.formateCityCode()
  210. const { data } = await api_schoolAreaList({
  211. name,
  212. testFlag: true,
  213. provinceCode: this.data.provinceCode,
  214. // cityCode: this.data.cityCode,
  215. cityCode: citycode,
  216. regionCode: this.data.regionCode
  217. })
  218. const result = data.data || []
  219. const tempList: any[] = []
  220. result.forEach((item: any) => {
  221. tempList.push({
  222. text: item.name,
  223. value: item.id
  224. })
  225. })
  226. let tempSchoolId = ''
  227. if (tempList.length > 0) {
  228. const first = tempList[0]
  229. tempSchoolId = first.value || ''
  230. }
  231. this.setData({
  232. schoolAreaList: tempList,
  233. tempChangeSchoolAreaId: tempSchoolId
  234. })
  235. } catch {
  236. //
  237. }
  238. this.setData({
  239. schoolLoading: false
  240. })
  241. },
  242. /** 获取学校详情 */
  243. async getSchoolAreaDetail() {
  244. const { data } = await api_schoolAreaDetail({ id: this.data.schoolAreaId })
  245. const result = data.data || {}
  246. let gradeClassList: any = []
  247. let schoolInstrumentSetType = ''
  248. if (result.school) {
  249. const schoolInfo = result.school || {};
  250. const schoolInstrumentList = schoolInfo.schoolInstrumentList || [];
  251. // forms.schoolInstrumentSetType = schoolInfo.instrumentSetType;
  252. if (schoolInfo.instrumentSetType === 'SCHOOL') {
  253. gradeClassList = [{
  254. values: getGradeList(schoolInfo.gradeYear),
  255. defaultIndex: this.data.gradeClassIndexs[0]
  256. }, {
  257. values: classList,
  258. defaultIndex: this.data.gradeClassIndexs[1]
  259. }]
  260. schoolInstrumentSetType = schoolInfo.instrumentSetType
  261. } else if (schoolInfo.instrumentSetType === 'GRADE') {
  262. const gradeList: any = []
  263. schoolInstrumentList.forEach((item: any) => {
  264. gradeList.push({
  265. text: GRADE_ENUM[item.gradeNum],
  266. value: item.gradeNum,
  267. instrumentId: item.instrumentId
  268. })
  269. });
  270. gradeList.sort((a: any, b: any) => a.value - b.value);
  271. gradeClassList = [{
  272. values: gradeList,
  273. defaultIndex: this.data.gradeClassIndexs[0]
  274. }, {
  275. values: classList,
  276. defaultIndex: this.data.gradeClassIndexs[1]
  277. }]
  278. schoolInstrumentSetType = schoolInfo.instrumentSetType
  279. } else if (schoolInfo.instrumentSetType === 'CLASS') {
  280. // // 班级
  281. const tempGradeList: any[] = [];
  282. schoolInstrumentList.forEach((item: any) => {
  283. if (!tempGradeList.includes(item.gradeNum)) {
  284. tempGradeList.push(item.gradeNum);
  285. }
  286. });
  287. const lastGradeList: any[] = [];
  288. tempGradeList.forEach((temp: any) => {
  289. const list = {
  290. text: GRADE_ENUM[temp],
  291. value: temp,
  292. instrumentId: '',
  293. instrumentCode: '',
  294. instrumentName: '',
  295. classList: [] as any
  296. };
  297. schoolInstrumentList.forEach((item: any) => {
  298. if (temp === item.gradeNum) {
  299. list.instrumentId = item.instrumentId;
  300. list.instrumentCode = item.instrumentCode;
  301. list.instrumentName = item.instrumentName;
  302. list.classList.push({
  303. text: item.classNum + '班',
  304. value: item.classNum,
  305. instrumentCode: item.instrumentCode
  306. });
  307. }
  308. });
  309. // 排序班级
  310. list.classList.sort((a: any, b: any) => a.value - b.value);
  311. lastGradeList.push(list);
  312. });
  313. lastGradeList.sort((a: any, b: any) => a.value - b.value);
  314. gradeClassList = [{
  315. values: lastGradeList,
  316. defaultIndex: this.data.gradeClassIndexs[0]
  317. }, {
  318. values: lastGradeList[this.data.gradeClassIndexs[0]]?.classList || [],
  319. defaultIndex: this.data.gradeClassIndexs[1]
  320. }]
  321. schoolInstrumentSetType = schoolInfo.instrumentSetType
  322. } else {
  323. gradeClassList = [{
  324. values: getGradeList(),
  325. defaultIndex: this.data.gradeClassIndexs[0]
  326. }, {
  327. values: classList,
  328. defaultIndex: this.data.gradeClassIndexs[1]
  329. }]
  330. schoolInstrumentSetType = ''
  331. }
  332. } else {
  333. gradeClassList = [{
  334. values: getGradeList(),
  335. defaultIndex: this.data.gradeClassIndexs[0]
  336. }, {
  337. values: classList,
  338. defaultIndex: this.data.gradeClassIndexs[1]
  339. }]
  340. schoolInstrumentSetType = ''
  341. }
  342. // 格式化年级班级 - 如果后台改了学校配置,本地保存了缓存,判断年级、班级是否存在
  343. const grade = this.data.gradeClassIndexs
  344. const tempGradeList = gradeClassList[0]
  345. const tempClassList = gradeClassList[1]
  346. if ((tempGradeList?.values?.length || 0) - 1 < grade[0] || (tempClassList?.values?.length || 0) - 1 < grade[1]) {
  347. gradeClassList[0].defaultIndex = 0
  348. gradeClassList[1].defaultIndex = 0
  349. // 初始化班级数据
  350. gradeClassList[1].values = gradeClassList[0]?.values[0]?.classList || []
  351. this.setData({
  352. gradeClassList,
  353. gradeClassIndexs: [0, 0],
  354. // currentClass: null,
  355. // currentGradeNum: null,
  356. // currentGradeClassTxt: '',
  357. schoolInstrumentSetType
  358. })
  359. } else {
  360. this.setData({
  361. gradeClassList,
  362. schoolInstrumentSetType
  363. })
  364. }
  365. console.log(this.data.gradeClassList, "data")
  366. },
  367. /** 选择男女 */
  368. onCheckGender(e: any) {
  369. const { dataset } = e.target
  370. this.setData({
  371. gender: dataset.gender
  372. })
  373. },
  374. /** 显示选择地区 */
  375. onShowAreaList() {
  376. this.setData({
  377. showArea: true
  378. })
  379. },
  380. /** 关闭选择地区 */
  381. onCloseAreaList() {
  382. this.setData({
  383. showArea: false
  384. })
  385. },
  386. onAreaBeforeEnter() {
  387. this.setData({
  388. showAreaAfterLeave: false
  389. })
  390. },
  391. onAreaAfterLeave() {
  392. this.setData({
  393. showAreaAfterLeave: true
  394. })
  395. },
  396. /** 确定选择地区 */
  397. submitArea(e: any) {
  398. const selectedOptions: any = e.detail.values
  399. this.setData({
  400. provinceCode: selectedOptions[0].code,
  401. cityCode: selectedOptions[1].code,
  402. regionCode: selectedOptions[2]?.code || null,
  403. provinceName: selectedOptions[0].name || '',
  404. cityName: selectedOptions[1].name || '',
  405. regionName: selectedOptions[2]?.name || '',
  406. showArea: false,
  407. searchName: '',
  408. schoolAreaId: '',
  409. schoolAreaName: '',
  410. schoolAreaIndex: 0,
  411. gradeClassIndexs: [0, 0],
  412. 'gradeClassList[0].defaultIndex': 0,
  413. 'gradeClassList[1].defaultIndex': 0,
  414. currentGradeNum: null,
  415. currentClass: null,
  416. currentGradeClassTxt: '',
  417. }, () => {
  418. this.getSchools()
  419. })
  420. },
  421. /** 关闭选择学校 */
  422. onCloseSchool() {
  423. this.setData({
  424. showSchool: false
  425. })
  426. },
  427. /** 选择学校关闭后 */
  428. onSchoolAfterLeave() {
  429. this.setData({
  430. showSchoolAfterLeave: true
  431. })
  432. },
  433. /** 选择学校打开前 */
  434. onSchoolBeforeEnter() {
  435. this.setData({
  436. showSchoolAfterLeave: false
  437. })
  438. },
  439. /** 选择学校 */
  440. onSelectSchool() {
  441. if (!this.data.provinceName) {
  442. wx.showToast({
  443. title: '请选择地区',
  444. icon: 'none'
  445. })
  446. return
  447. }
  448. this.setData({
  449. showSchool: true
  450. })
  451. },
  452. /** 确定选择学校 */
  453. onSubmitSchool() {
  454. if (this.data.tempChangeSchoolAreaId === this.data.schoolAreaId) {
  455. this.setData({
  456. showSchool: false
  457. })
  458. return
  459. }
  460. const detail = this.data.schoolAreaList.find((item: any) => item.value === this.data.tempChangeSchoolAreaId)
  461. const detailIndex = this.data.schoolAreaList.findIndex((item: any) => item.value === this.data.tempChangeSchoolAreaId)
  462. // console.log(detail, detailIndex, this.data.tempChangeSchoolAreaId)
  463. if (detailIndex === -1) return
  464. this.setData({
  465. schoolAreaName: detail.text,
  466. schoolAreaId: detail.value,
  467. schoolAreaIndex: detailIndex,
  468. showSchool: false,
  469. gradeClassIndexs: [0, 0],
  470. 'gradeClassList[0].defaultIndex': 0,
  471. 'gradeClassList[1].defaultIndex': 0,
  472. currentGradeNum: null,
  473. currentClass: null,
  474. currentGradeClassTxt: '',
  475. }, () => {
  476. this.getSchoolAreaDetail()
  477. })
  478. },
  479. onChangeSchool(e: any) {
  480. const { value } = e.detail.value
  481. this.setData({
  482. tempChangeSchoolAreaId: value
  483. })
  484. },
  485. onSearch() {
  486. this.setData({
  487. schoolAreaIndex: 0
  488. }, () => {
  489. this.getSchools(this.data.searchName);
  490. })
  491. },
  492. onSearchChange(e: any) {
  493. this.setData({
  494. searchName: e.detail
  495. })
  496. },
  497. /** 选择年级班级 */
  498. onSelectGradeClass() {
  499. if (!this.data.schoolAreaId) {
  500. wx.showToast({
  501. title: '请选择学校',
  502. icon: 'none'
  503. })
  504. return
  505. }
  506. this.setData({
  507. showGradeClass: true
  508. })
  509. },
  510. /** 年级班级 */
  511. onCloseGradeClass() {
  512. this.setData({
  513. showGradeClass: false
  514. })
  515. },
  516. onGradeClassBeforeEnter() {
  517. this.setData({
  518. showGradeClassAfterLeave: false
  519. })
  520. },
  521. onGradeClassAfterLeave() {
  522. this.setData({
  523. showGradeClassAfterLeave: true
  524. })
  525. },
  526. /** 确认选择年级班级 */
  527. onSubmitGradeClass(e: any) {
  528. const selectedOptions: any = e.detail.value
  529. const selectedIndexs: any = e.detail.index
  530. // console.log(selectedOptions, e, 'selectedOptions')
  531. this.setData({
  532. currentGradeClassTxt: selectedOptions[0].text + selectedOptions[1].text,
  533. currentGradeNum: selectedOptions[0].value,
  534. currentClass: selectedOptions[1].value,
  535. 'gradeClassList[0].defaultIndex': selectedIndexs[0],
  536. 'gradeClassList[1].defaultIndex': selectedIndexs[1],
  537. gradeClassIndexs: selectedIndexs,
  538. showGradeClass: false
  539. })
  540. },
  541. /** 年级班级切换时 */
  542. onGradeClassChange(event: any) {
  543. const { picker, index, value } = event.detail;
  544. if (index !== 0) return
  545. // 第一列滚动时
  546. // console.log(this.data.gradeClassList, "this.data.gradeClassList")
  547. if (this.data.schoolInstrumentSetType === "CLASS") {
  548. const firstColumn = value[index]
  549. const gradeDetail = this.data.gradeClassList[0]?.values
  550. const classList = gradeDetail?.find((item: any) => item.value === firstColumn.value)
  551. if (classList) {
  552. picker.setColumnIndex(1, '0')
  553. picker.setColumnValues(1, classList.classList);
  554. }
  555. }
  556. },
  557. messageName(value: string) {
  558. const nameReg = /^[\u4E00-\u9FA5]+$/
  559. if (!value) {
  560. return '请填写学生姓名';
  561. } else if (!nameReg.test(value)) {
  562. return '学生姓名必须为中文';
  563. } else if (value.length < 2 || value.length > 14) {
  564. return '学生姓名必须为2~14个字';
  565. } else {
  566. return ''
  567. }
  568. },
  569. /** 最终提交 */
  570. async onSubmit() {
  571. try {
  572. const params = this.data
  573. if (!params.phone || !/^1[3456789]\d{9}$/.test(params.phone)) {
  574. wx.showToast({
  575. title: '请输入正确的手机号',
  576. icon: "none"
  577. })
  578. return
  579. }
  580. if (this.messageName(params.name)) {
  581. wx.showToast({
  582. title: this.messageName(params.name),
  583. icon: "none"
  584. })
  585. return
  586. }
  587. if (!params.provinceCode || !params.cityCode) {
  588. wx.showToast({
  589. title: '请选择地区',
  590. icon: "none"
  591. })
  592. return
  593. }
  594. if (!params.schoolAreaId) {
  595. wx.showToast({
  596. title: '请选择学校',
  597. icon: "none"
  598. })
  599. return
  600. }
  601. if (!params.currentGradeNum) {
  602. wx.showToast({
  603. title: '请选择年级',
  604. icon: "none"
  605. })
  606. return
  607. }
  608. const pages = getCurrentPages();
  609. const prevPage = pages[pages.length - 2]; // 获取上一个页面实例
  610. if (params.userBeneficiaryId) {
  611. const { data } = await api_userBeneficiaryUpdate({
  612. id: params.userBeneficiaryId,
  613. phone: params.phone,
  614. name: params.name,
  615. gender: params.gender,
  616. currentGradeNum: params.currentGradeNum,
  617. currentClass: params.currentClass,
  618. schoolAreaId: params.schoolAreaId,
  619. defaultStatus: false
  620. })
  621. prevPage?.setData({ backParams: { userBeneficiaryId: data.data.id, name: params.name, phone: params.phone, schoolInfo: (params.provinceName || '') + (params.cityName || '') + (params.regionName || '') + params.schoolAreaName + params.currentGradeClassTxt } });
  622. } else {
  623. const { data } = await api_userBeneficiarySave({
  624. "phone": params.phone,
  625. "name": params.name,
  626. "gender": params.gender,
  627. "currentGradeNum": params.currentGradeNum,
  628. "currentClass": params.currentClass,
  629. "schoolAreaId": params.schoolAreaId,
  630. defaultStatus: false
  631. })
  632. prevPage?.setData({ backParams: { userBeneficiaryId: data.data.id, name: params.name, phone: params.phone, schoolInfo: (params.provinceName || '') + (params.cityName || '') + (params.regionName || '') + params.schoolAreaName + params.currentGradeClassTxt } });
  633. }
  634. this.onSetCatch(params)
  635. wx.navigateBack()
  636. } catch {
  637. //
  638. }
  639. },
  640. /** 设置缓存 */
  641. onSetCatch(params: any) {
  642. wx.setStorageSync('buyerInfomation', JSON.stringify({
  643. phone: params.phone,
  644. name: params.name,
  645. gender: params.gender,
  646. schoolAreaId: params.schoolAreaId,
  647. schoolAreaName: params.schoolAreaName,
  648. currentGradeClassTxt: params.currentGradeClassTxt,
  649. currentClass: params.currentClass,
  650. currentGradeNum: params.currentGradeNum,
  651. cityCode: params.cityCode,
  652. cityName: params.cityName,
  653. provinceCode: params.provinceCode,
  654. provinceName: params.provinceName,
  655. regionCode: params.regionCode,
  656. regionName: params.regionName,
  657. schoolAreaIndex: params.schoolAreaIndex,
  658. gradeClassIndexs: params.gradeClassIndexs
  659. }))
  660. }
  661. })