index-legacy.c5dbf043.js 116 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449
  1. ;(function () {
  2. function ownKeys(object, enumerableOnly) {
  3. var keys = Object.keys(object)
  4. if (Object.getOwnPropertySymbols) {
  5. var symbols = Object.getOwnPropertySymbols(object)
  6. enumerableOnly &&
  7. (symbols = symbols.filter(function (sym) {
  8. return Object.getOwnPropertyDescriptor(object, sym).enumerable
  9. })),
  10. keys.push.apply(keys, symbols)
  11. }
  12. return keys
  13. }
  14. function _objectSpread(target) {
  15. for (var i = 1; i < arguments.length; i++) {
  16. var source = null != arguments[i] ? arguments[i] : {}
  17. i % 2
  18. ? ownKeys(Object(source), !0).forEach(function (key) {
  19. _defineProperty(target, key, source[key])
  20. })
  21. : Object.getOwnPropertyDescriptors
  22. ? Object.defineProperties(
  23. target,
  24. Object.getOwnPropertyDescriptors(source)
  25. )
  26. : ownKeys(Object(source)).forEach(function (key) {
  27. Object.defineProperty(
  28. target,
  29. key,
  30. Object.getOwnPropertyDescriptor(source, key)
  31. )
  32. })
  33. }
  34. return target
  35. }
  36. function _defineProperty(obj, key, value) {
  37. if (key in obj) {
  38. Object.defineProperty(obj, key, {
  39. value: value,
  40. enumerable: true,
  41. configurable: true,
  42. writable: true
  43. })
  44. } else {
  45. obj[key] = value
  46. }
  47. return obj
  48. }
  49. function _toConsumableArray(arr) {
  50. return (
  51. _arrayWithoutHoles(arr) ||
  52. _iterableToArray(arr) ||
  53. _unsupportedIterableToArray(arr) ||
  54. _nonIterableSpread()
  55. )
  56. }
  57. function _nonIterableSpread() {
  58. throw new TypeError(
  59. 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
  60. )
  61. }
  62. function _unsupportedIterableToArray(o, minLen) {
  63. if (!o) return
  64. if (typeof o === 'string') return _arrayLikeToArray(o, minLen)
  65. var n = Object.prototype.toString.call(o).slice(8, -1)
  66. if (n === 'Object' && o.constructor) n = o.constructor.name
  67. if (n === 'Map' || n === 'Set') return Array.from(o)
  68. if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
  69. return _arrayLikeToArray(o, minLen)
  70. }
  71. function _iterableToArray(iter) {
  72. if (
  73. (typeof Symbol !== 'undefined' && iter[Symbol.iterator] != null) ||
  74. iter['@@iterator'] != null
  75. )
  76. return Array.from(iter)
  77. }
  78. function _arrayWithoutHoles(arr) {
  79. if (Array.isArray(arr)) return _arrayLikeToArray(arr)
  80. }
  81. function _arrayLikeToArray(arr, len) {
  82. if (len == null || len > arr.length) len = arr.length
  83. for (var i = 0, arr2 = new Array(len); i < len; i++) {
  84. arr2[i] = arr[i]
  85. }
  86. return arr2
  87. }
  88. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
  89. try {
  90. var info = gen[key](arg)
  91. var value = info.value
  92. } catch (error) {
  93. reject(error)
  94. return
  95. }
  96. if (info.done) {
  97. resolve(value)
  98. } else {
  99. Promise.resolve(value).then(_next, _throw)
  100. }
  101. }
  102. function _asyncToGenerator(fn) {
  103. return function () {
  104. var self = this,
  105. args = arguments
  106. return new Promise(function (resolve, reject) {
  107. var gen = fn.apply(self, args)
  108. function _next(value) {
  109. asyncGeneratorStep(gen, resolve, reject, _next, _throw, 'next', value)
  110. }
  111. function _throw(err) {
  112. asyncGeneratorStep(gen, resolve, reject, _next, _throw, 'throw', err)
  113. }
  114. _next(undefined)
  115. })
  116. }
  117. }
  118. var __vite_style__ = document.createElement('style')
  119. __vite_style__.innerHTML =
  120. '._container_5bgh5_1{padding:.34667rem .37333rem}._container_5bgh5_1 .van-cell{border-radius:.10667rem;margin-bottom:.26667rem}._container_5bgh5_1 .van-field__label{border-right:.02667rem solid #dfdfdf;font-size:.42667rem;color:#333}._tips_5bgh5_13{display:flex;align-items:center;font-size:.42667rem;color:#1a1a1a;font-weight:500}._tips_5bgh5_13 ._icon_5bgh5_20{width:.50667rem;height:.50667rem;margin-right:.18667rem}._tipsContent_5bgh5_25{font-size:.37333rem;color:#696969;line-height:.56rem}._week_5bgh5_30{display:flex;justify-content:space-between}._week_5bgh5_30 .van-radio__icon{display:none}._week_5bgh5_30 .van-radio__label{display:flex;align-items:center;justify-content:center;width:1.04rem;height:1.04rem;background:#f5f8fb;border-radius:.16rem;font-size:.32rem;font-weight:500;color:var(--van-primary);margin:0}._week_5bgh5_30 .van-radio[aria-checked=true] .van-radio__label{background-color:var(--van-primary);color:#fff}._week_5bgh5_30 .van-radio.van-radio--disabled .van-radio__label{color:#cdced0}._holdays_5bgh5_57{display:flex;justify-content:flex-end}._holdays_5bgh5_57 .van-radio__icon{display:none}._holdays_5bgh5_57 .van-radio__label{display:flex;align-items:center;justify-content:center;width:1.01333rem;height:.58667rem;background:#f5f8fb;border-radius:.08rem;border:.02667rem solid #999999;font-size:.32rem;font-weight:500;color:#999;margin:0}._holdays_5bgh5_57 .van-radio[aria-checked=true] .van-radio__label{background-color:var(--van-primary);border-color:var(--van-primary);color:#fff}._coursePopup_5bgh5_83{min-height:10.96rem;border-radius:.21333rem;padding:.48rem .37333rem;box-sizing:border-box}._tags_5bgh5_89{display:flex;flex-wrap:wrap;padding:.32rem}._tags_5bgh5_89 .van-tag{padding:.05333rem .13333rem;border-radius:.08rem;border:.02667rem solid var(--van-primary);background-color:#e0f7f3;color:var(--van-primary);margin-right:.21333rem;margin-bottom:.21333rem;font-size:.32rem;line-height:.45333rem;font-weight:500}._pickerTitle_5bgh5_106{justify-content:center;font-size:.48rem;color:#000;font-weight:500;text-align:center}._student_5bgh5_113{margin:0!important}._student_5bgh5_113 .van-field__control{opacity:0!important}._container_1df8b_1{background-color:#f7f8f9;min-height:100vh;padding-bottom:1.86667rem;box-sizing:border-box}._label_1df8b_7{margin-right:.21333rem;font-size:.37333rem}._label_1df8b_7 .van-list__loading,._label_1df8b_7 .van-list__finished-text,._label_1df8b_7 .van-list__error-text{width:100%}._label_1df8b_7 .iconfont-down{margin-left:.10667rem}._btnGroup_1df8b_19{position:fixed;left:0;right:0;bottom:0;padding:.26667rem .74667rem;background-color:#fff}._btnGroup_1df8b_19 button{height:1.33333rem;line-height:1.33333rem}._check_1df8b_31{display:flex;justify-content:flex-end}._subjects_1uhdv_1 ._subjectContainer_1uhdv_1{height:45vh;overflow-y:auto}._subjects_1uhdv_1 ._title_1uhdv_5{padding:.32rem 0;margin:0 .4rem;color:#333;font-size:.42667rem}._subjects_1uhdv_1 ._title_1uhdv_5:before{content:" ";display:inline-block;width:.08rem;height:.42667rem;background:#01C1B5;border-radius:.08rem;margin-right:.21333rem;vertical-align:text-bottom}._subjects_1uhdv_1 ._subject-list_1uhdv_21{display:flex;align-items:center;flex-wrap:wrap;padding:0 .26667rem}._subjects_1uhdv_1 ._subject-list_1uhdv_21 ._subject-item_1uhdv_27{position:relative;width:2.88rem;height:2.88rem;margin-right:.13333rem;margin-left:.13333rem;margin-bottom:.26667rem;border-radius:.18667rem;overflow:hidden}._subjects_1uhdv_1 ._subject-list_1uhdv_21 ._topBg_1uhdv_37{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.54) 100%)}._subjects_1uhdv_1 ._subject-list_1uhdv_21 ._checkbox_1uhdv_45{position:absolute;right:.18667rem;top:.18667rem}._subjects_1uhdv_1 ._subject-list_1uhdv_21 ._name_1uhdv_50{position:absolute;bottom:.18667rem;left:.18667rem;font-size:.42667rem;font-weight:500;color:#fff;line-height:.58667rem}._subjects_1uhdv_1 ._subject-list_1uhdv_21 .van-checkbox__icon,._subjects_1uhdv_1 ._subject-list_1uhdv_21 .van-radio__icon{height:.58667rem}._subjects_1uhdv_1 ._subject-list_1uhdv_21 .van-checkbox__icon .van-icon,._subjects_1uhdv_1 ._subject-list_1uhdv_21 .van-radio__icon .van-icon{border:0;background-color:transparent}._subjects_1uhdv_1 ._subject-list_1uhdv_21 .van-checkbox__icon--checked .van-icon,._subjects_1uhdv_1 ._subject-list_1uhdv_21 .van-radio__icon--checked .van-icon{background-color:transparent;border:transparent}._btns_1uhdv_73{display:flex;justify-content:space-around}._btns_1uhdv_73 .van-button{width:45%}._filterTitle_1uhdv_80{font-size:.48rem;font-weight:500;color:#000;line-height:.66667rem;text-align:center;padding:.53333rem 0}._createClass_129c1_1{padding:.34667rem .37333rem}._arrangeCell_129c1_4{margin:.26667rem 0 0;width:auto;border-radius:.26667rem;overflow:hidden}._rTitle_129c1_10{display:flex;align-items:center;font-size:.42667rem;color:#333;font-weight:500}._rTitle_129c1_10:before{margin-right:.21333rem;content:" ";display:inline-block;width:.10667rem;height:.45333rem;background:linear-gradient(180deg,#59e5d5 0%,#01C1B5 100%);border-radius:.08rem}._rTag_129c1_26{padding:.26667rem 0}._rTag_129c1_26 ._tag_129c1_29{background:#e9fff8;margin-bottom:.21333rem}._selectPopup_129c1_33{width:8.32rem;background:#ffffff;border-radius:.21333rem}._selectPopup_129c1_33 ._selectContainer_129c1_38{padding:.48rem .37333rem}._selectPopup_129c1_33 ._rTitle_129c1_10{font-size:.48rem}._selectPopup_129c1_33 ._selectPopupContent_129c1_44{padding:.53333rem 0}._selectPopup_129c1_33 ._desc_129c1_47,._selectPopup_129c1_33 ._times_129c1_48{font-size:.37333rem;color:#666;line-height:.53333rem}._selectPopup_129c1_33 ._times_129c1_48{padding-top:.4rem}._selectPopup_129c1_33 ._times_129c1_48 span{display:block}._selectPopup_129c1_33 ._selectBtn_129c1_59{display:flex;align-items:center;justify-content:space-between}._selectPopup_129c1_33 ._selectBtn_129c1_59 ._btn_129c1_64{width:48%}._coursePopup_129c1_67{min-height:10.96rem;border-radius:.21333rem;padding:.48rem .37333rem;box-sizing:border-box}._box_12gfu_1{font-size:.37333rem;line-height:.53333rem}._wrap_12gfu_5{max-height:50vh;overflow-y:auto}._title_12gfu_9{position:relative;display:flex;align-items:center;padding:.21333rem 0;font-size:.48rem;font-weight:500;color:#333;line-height:.8rem}._leftIcon_12gfu_19{width:.10667rem;height:.48rem;background:linear-gradient(180deg,#59e5d5 0%,#01C1B5 100%);border-radius:.08rem;margin-right:.16rem}._stu_12gfu_26{color:#333;font-weight:400}._timeBox_12gfu_30{height:3.57333rem;overflow-y:auto;background-color:#f7f8f9;border-radius:.21333rem;margin:.26667rem 0;padding:.18667rem .21333rem}._timeTitle_12gfu_38{color:#333;font-weight:500}._timeItem_12gfu_42{color:#666;line-height:.64rem}._footer_12gfu_46{display:flex;justify-content:space-evenly;padding:.26667rem 0}._footer_12gfu_46 button{width:3.62667rem}\n'
  121. document.head.appendChild(__vite_style__)
  122. System.register(
  123. [
  124. './index-legacy.48bd16d8.js',
  125. './index-legacy.595c24c3.js',
  126. './vendor-legacy.09f20d09.js',
  127. './index-legacy.f25f109a7.js',
  128. './index-legacy.f25f109a.js',
  129. './index-legacy.f25f109a5.js',
  130. './index-legacy.637f35565.js',
  131. './index-legacy.f25f109a14.js',
  132. './index-legacy.f25f109a12.js',
  133. './index-legacy.f25f109a10.js',
  134. './icon_tips-legacy.b7861467.js',
  135. './index-legacy.535e160e.js',
  136. './index-legacy.fa4145a4.js',
  137. './index-legacy.f72eae88.js',
  138. './index-legacy.f25f109a13.js',
  139. './index-legacy.f25f109a3.js',
  140. './index-legacy.88d15645.js',
  141. './index-legacy.f25f109a2.js',
  142. './checkbox_default-legacy.88950e5d.js'
  143. ],
  144. function (exports) {
  145. 'use strict'
  146. var Calendar,
  147. ColResult,
  148. request,
  149. state,
  150. getWeekCh,
  151. defineComponent,
  152. Toast,
  153. createVNode,
  154. createTextVNode,
  155. CheckboxGroup,
  156. Fragment,
  157. Image,
  158. Loading,
  159. Checkbox,
  160. Icon,
  161. RadioGroup,
  162. Radio,
  163. Sticky,
  164. Button,
  165. ref,
  166. reactive,
  167. onMounted,
  168. src,
  169. Popup,
  170. computed,
  171. Form,
  172. Field,
  173. mergeProps,
  174. Cell,
  175. Tag,
  176. Stepper,
  177. ActionSheet,
  178. dayjs,
  179. watch,
  180. useRouter,
  181. Dialog,
  182. nextTick,
  183. iconTips,
  184. ColPopup,
  185. ColHeader,
  186. ColSearch,
  187. Student,
  188. checkBoxActive,
  189. checkBoxDefault
  190. return {
  191. setters: [
  192. function (module) {
  193. Calendar = module.C
  194. },
  195. function (module) {
  196. ColResult = module.C
  197. request = module.r
  198. state = module.s
  199. getWeekCh = module.m
  200. },
  201. function (module) {
  202. defineComponent = module.d
  203. Toast = module.T
  204. createVNode = module.a
  205. createTextVNode = module.j
  206. CheckboxGroup = module.a4
  207. Fragment = module.F
  208. Image = module.I
  209. Loading = module.L
  210. Checkbox = module.a5
  211. Icon = module.K
  212. RadioGroup = module.ac
  213. Radio = module.ad
  214. Sticky = module.S
  215. Button = module.B
  216. ref = module.l
  217. reactive = module.h
  218. onMounted = module.m
  219. src = module.s
  220. Popup = module.P
  221. computed = module.p
  222. Form = module.aa
  223. Field = module.G
  224. mergeProps = module.a6
  225. Cell = module.C
  226. Tag = module.U
  227. Stepper = module.Y
  228. ActionSheet = module.N
  229. dayjs = module.g
  230. watch = module._
  231. useRouter = module.k
  232. Dialog = module.D
  233. nextTick = module.q
  234. },
  235. function () {},
  236. function () {},
  237. function () {},
  238. function () {},
  239. function () {},
  240. function () {},
  241. function () {},
  242. function (module) {
  243. iconTips = module.i
  244. },
  245. function (module) {
  246. ColPopup = module.C
  247. },
  248. function (module) {
  249. ColHeader = module.C
  250. },
  251. function (module) {
  252. ColSearch = module.C
  253. },
  254. function () {},
  255. function () {},
  256. function (module) {
  257. Student = module.S
  258. },
  259. function () {},
  260. function (module) {
  261. checkBoxActive = module.c
  262. checkBoxDefault = module.a
  263. }
  264. ],
  265. execute: function execute() {
  266. var _Object$freeze
  267. var container$1 = '_container_5bgh5_1'
  268. var tips = '_tips_5bgh5_13'
  269. var icon = '_icon_5bgh5_20'
  270. var tipsContent = '_tipsContent_5bgh5_25'
  271. var week = '_week_5bgh5_30'
  272. var holdays = '_holdays_5bgh5_57'
  273. var coursePopup$1 = '_coursePopup_5bgh5_83'
  274. var tags = '_tags_5bgh5_89'
  275. var pickerTitle = '_pickerTitle_5bgh5_106'
  276. var student = '_student_5bgh5_113'
  277. var styles$4 = {
  278. container: container$1,
  279. tips: tips,
  280. icon: icon,
  281. tipsContent: tipsContent,
  282. week: week,
  283. holdays: holdays,
  284. coursePopup: coursePopup$1,
  285. tags: tags,
  286. pickerTitle: pickerTitle,
  287. student: student
  288. }
  289. var container = '_container_1df8b_1'
  290. var label = '_label_1df8b_7'
  291. var btnGroup = '_btnGroup_1df8b_19'
  292. var check = '_check_1df8b_31'
  293. var styles$3 = {
  294. container: container,
  295. label: label,
  296. btnGroup: btnGroup,
  297. check: check
  298. }
  299. var subjects = '_subjects_1uhdv_1'
  300. var subjectContainer = '_subjectContainer_1uhdv_1'
  301. var title$1 = '_title_1uhdv_5'
  302. var topBg = '_topBg_1uhdv_37'
  303. var checkbox = '_checkbox_1uhdv_45'
  304. var name = '_name_1uhdv_50'
  305. var btns = '_btns_1uhdv_73'
  306. var filterTitle = '_filterTitle_1uhdv_80'
  307. var styles$2 = {
  308. subjects: subjects,
  309. subjectContainer: subjectContainer,
  310. title: title$1,
  311. 'subject-list': '_subject-list_1uhdv_21',
  312. 'subject-item': '_subject-item_1uhdv_27',
  313. topBg: topBg,
  314. checkbox: checkbox,
  315. name: name,
  316. btns: btns,
  317. filterTitle: filterTitle
  318. }
  319. var Voice = defineComponent({
  320. name: 'SubjectList',
  321. props: {
  322. onChoice: { type: Function, default: function _default(item) {} },
  323. choiceSubjectIds: { type: Array, default: [] },
  324. subjectList: { type: Array, default: [] },
  325. max: {
  326. // 最多可选数量
  327. type: Number,
  328. default: 5
  329. },
  330. selectType: {
  331. // 选择类型,Radio:单选,Checkbox:多选
  332. type: String,
  333. default: 'Checkbox'
  334. },
  335. single: {
  336. // 单选模式
  337. type: Boolean,
  338. default: false
  339. }
  340. },
  341. data: function data() {
  342. return {
  343. checkBox: [],
  344. checkboxRefs: [],
  345. radio: null // 单选
  346. }
  347. },
  348. mounted: function mounted() {
  349. var _this = this
  350. return _asyncToGenerator(
  351. /*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
  352. return regeneratorRuntime.wrap(function _callee$(_context) {
  353. while (1) {
  354. switch ((_context.prev = _context.next)) {
  355. case 0:
  356. _this.checkBox = _this.choiceSubjectIds
  357. case 1:
  358. case 'end':
  359. return _context.stop()
  360. }
  361. }
  362. }, _callee)
  363. })
  364. )()
  365. },
  366. watch: {
  367. choiceSubjectIds: function choiceSubjectIds(val, oldVal) {
  368. // 同步更新显示数据
  369. this.checkBox = _toConsumableArray(val)
  370. }
  371. },
  372. methods: {
  373. onSelect: function onSelect(id) {
  374. if (this.selectType === 'Checkbox') {
  375. if (
  376. this.max === this.checkBox.length &&
  377. !this.checkBox.includes(id)
  378. ) {
  379. Toast(
  380. '\u4E50\u5668\u6700\u591A\u9009\u62E9'.concat(
  381. this.max,
  382. '\u4E2A'
  383. )
  384. )
  385. }
  386. this.checkboxRefs[id].toggle()
  387. } else if (this.selectType === 'Radio') {
  388. this.radio = id
  389. }
  390. }
  391. },
  392. render: function render() {
  393. var _this2 = this
  394. return createVNode('div', { class: styles$2.subjects }, [
  395. createVNode('div', { class: styles$2.filterTitle }, [
  396. createTextVNode('\u5168\u90E8\u58F0\u90E8')
  397. ]),
  398. createVNode('div', { class: styles$2.subjectContainer }, [
  399. this.subjectList.length
  400. ? this.selectType === 'Checkbox'
  401. ? createVNode(
  402. CheckboxGroup,
  403. {
  404. modelValue: this.checkBox,
  405. 'onUpdate:modelValue': function onUpdateModelValue(
  406. $event
  407. ) {
  408. return (_this2.checkBox = $event)
  409. },
  410. max: this.max
  411. },
  412. {
  413. default: function _default() {
  414. return [
  415. !_this2.single &&
  416. _this2.subjectList.map(function (item) {
  417. return item.subjects &&
  418. item.subjects.length > 0
  419. ? createVNode(Fragment, null, [
  420. createVNode(
  421. 'div',
  422. { class: styles$2.title },
  423. [item.name]
  424. ),
  425. createVNode(
  426. 'div',
  427. { class: styles$2['subject-list'] },
  428. [
  429. item.subjects &&
  430. item.subjects.map(function (
  431. sub
  432. ) {
  433. return createVNode(
  434. 'div',
  435. {
  436. class:
  437. styles$2[
  438. 'subject-item'
  439. ],
  440. onClick:
  441. function onClick() {
  442. return _this2.onSelect(
  443. sub.id
  444. )
  445. }
  446. },
  447. [
  448. createVNode(
  449. Image,
  450. {
  451. src: sub.img || 'xxx',
  452. width: '100%',
  453. height: '100%',
  454. fit: 'cover'
  455. },
  456. {
  457. loading:
  458. function loading() {
  459. return createVNode(
  460. Loading,
  461. {
  462. type: 'spinner',
  463. size: 20
  464. },
  465. null
  466. )
  467. }
  468. }
  469. ),
  470. createVNode(
  471. 'div',
  472. {
  473. class: styles$2.topBg
  474. },
  475. [
  476. createVNode(
  477. Checkbox,
  478. {
  479. name: sub.id,
  480. class:
  481. styles$2.checkbox,
  482. disabled: true,
  483. ref: function ref(
  484. el
  485. ) {
  486. return (_this2.checkboxRefs[
  487. sub.id
  488. ] = el)
  489. }
  490. },
  491. {
  492. icon: function icon(
  493. props
  494. ) {
  495. return createVNode(
  496. Icon,
  497. {
  498. name: props.checked
  499. ? checkBoxActive
  500. : checkBoxDefault,
  501. size: '20'
  502. },
  503. null
  504. )
  505. }
  506. }
  507. ),
  508. createVNode(
  509. 'p',
  510. {
  511. class:
  512. styles$2.name
  513. },
  514. [sub.name]
  515. )
  516. ]
  517. )
  518. ]
  519. )
  520. })
  521. ]
  522. )
  523. ])
  524. : null
  525. }),
  526. _this2.single
  527. ? createVNode(
  528. 'div',
  529. { class: styles$2['subject-list'] },
  530. [
  531. _this2.subjectList.map(function (item) {
  532. return createVNode(
  533. 'div',
  534. {
  535. class: styles$2['subject-item'],
  536. onClick: function onClick() {
  537. return _this2.onSelect(item.id)
  538. }
  539. },
  540. [
  541. createVNode(
  542. Image,
  543. {
  544. src: item.img || 'xxx',
  545. width: '100%',
  546. height: '100%',
  547. fit: 'cover'
  548. },
  549. {
  550. loading: function loading() {
  551. return createVNode(
  552. Loading,
  553. {
  554. type: 'spinner',
  555. size: 20
  556. },
  557. null
  558. )
  559. }
  560. }
  561. ),
  562. createVNode(
  563. 'div',
  564. { class: styles$2.topBg },
  565. [
  566. createVNode(
  567. Checkbox,
  568. {
  569. name: item.id,
  570. class: styles$2.checkbox,
  571. disabled: true,
  572. ref: function ref(el) {
  573. return (_this2.checkboxRefs[
  574. item.id
  575. ] = el)
  576. }
  577. },
  578. {
  579. icon: function icon(
  580. props
  581. ) {
  582. return createVNode(
  583. Icon,
  584. {
  585. name: props.checked
  586. ? checkBoxActive
  587. : checkBoxDefault,
  588. size: '20'
  589. },
  590. null
  591. )
  592. }
  593. }
  594. ),
  595. createVNode(
  596. 'p',
  597. { class: styles$2.name },
  598. [item.name]
  599. )
  600. ]
  601. )
  602. ]
  603. )
  604. })
  605. ]
  606. )
  607. : null
  608. ]
  609. }
  610. }
  611. )
  612. : createVNode(
  613. RadioGroup,
  614. {
  615. modelValue: this.radio,
  616. 'onUpdate:modelValue': function onUpdateModelValue(
  617. $event
  618. ) {
  619. return (_this2.radio = $event)
  620. }
  621. },
  622. {
  623. default: function _default() {
  624. return [
  625. !_this2.single &&
  626. _this2.subjectList.map(function (item) {
  627. return item.subjects &&
  628. item.subjects.length > 0
  629. ? createVNode(Fragment, null, [
  630. createVNode(
  631. 'div',
  632. { class: styles$2.title },
  633. [item.name]
  634. ),
  635. createVNode(
  636. 'div',
  637. { class: styles$2['subject-list'] },
  638. [
  639. item.subjects &&
  640. item.subjects.map(function (
  641. sub
  642. ) {
  643. return createVNode(
  644. 'div',
  645. {
  646. class:
  647. styles$2[
  648. 'subject-item'
  649. ],
  650. onClick:
  651. function onClick() {
  652. return _this2.onSelect(
  653. sub.id
  654. )
  655. }
  656. },
  657. [
  658. createVNode(
  659. Image,
  660. {
  661. src: sub.img || 'xxx',
  662. width: '100%',
  663. height: '100%',
  664. fit: 'cover'
  665. },
  666. {
  667. loading:
  668. function loading() {
  669. return createVNode(
  670. Loading,
  671. {
  672. type: 'spinner',
  673. size: 20
  674. },
  675. null
  676. )
  677. }
  678. }
  679. ),
  680. createVNode(
  681. 'div',
  682. {
  683. class: styles$2.topBg
  684. },
  685. [
  686. createVNode(
  687. Radio,
  688. {
  689. name: sub.id,
  690. class:
  691. styles$2.checkbox
  692. },
  693. {
  694. icon: function icon(
  695. props
  696. ) {
  697. return createVNode(
  698. Icon,
  699. {
  700. name: props.checked
  701. ? checkBoxActive
  702. : checkBoxDefault,
  703. size: '20'
  704. },
  705. null
  706. )
  707. }
  708. }
  709. ),
  710. createVNode(
  711. 'p',
  712. {
  713. class:
  714. styles$2.name
  715. },
  716. [sub.name]
  717. )
  718. ]
  719. )
  720. ]
  721. )
  722. })
  723. ]
  724. )
  725. ])
  726. : null
  727. }),
  728. _this2.single
  729. ? createVNode(
  730. 'div',
  731. { class: styles$2['subject-list'] },
  732. [
  733. _this2.subjectList.map(function (item) {
  734. return createVNode(
  735. 'div',
  736. {
  737. class: styles$2['subject-item'],
  738. onClick: function onClick() {
  739. return _this2.onSelect(item.id)
  740. }
  741. },
  742. [
  743. createVNode(
  744. Image,
  745. {
  746. src: item.img || 'xxx',
  747. width: '100%',
  748. height: '100%',
  749. fit: 'cover'
  750. },
  751. {
  752. loading: function loading() {
  753. return createVNode(
  754. Loading,
  755. {
  756. type: 'spinner',
  757. size: 20
  758. },
  759. null
  760. )
  761. }
  762. }
  763. ),
  764. createVNode(
  765. 'div',
  766. { class: styles$2.topBg },
  767. [
  768. createVNode(
  769. Radio,
  770. {
  771. name: item.id,
  772. class: styles$2.checkbox
  773. },
  774. {
  775. icon: function icon(
  776. props
  777. ) {
  778. return createVNode(
  779. Icon,
  780. {
  781. name: props.checked
  782. ? checkBoxActive
  783. : checkBoxDefault,
  784. size: '20'
  785. },
  786. null
  787. )
  788. }
  789. }
  790. ),
  791. createVNode(
  792. 'p',
  793. { class: styles$2.name },
  794. [item.name]
  795. )
  796. ]
  797. )
  798. ]
  799. )
  800. })
  801. ]
  802. )
  803. : null
  804. ]
  805. }
  806. }
  807. )
  808. : createVNode(
  809. ColResult,
  810. { tips: '暂无声部数据', btnStatus: false },
  811. null
  812. )
  813. ]),
  814. this.subjectList.length > 0 &&
  815. createVNode(
  816. Sticky,
  817. { offsetBottom: 0, position: 'bottom' },
  818. {
  819. default: function _default() {
  820. return [
  821. createVNode(
  822. 'div',
  823. { class: ['btnGroup', styles$2.btns] },
  824. [
  825. createVNode(
  826. Button,
  827. {
  828. round: true,
  829. block: true,
  830. onClick: function onClick() {
  831. _this2.checkBox = []
  832. _this2.radio = ''
  833. _this2.onChoice()
  834. }
  835. },
  836. {
  837. default: function _default() {
  838. return [createTextVNode('\u91CD\u7F6E')]
  839. }
  840. }
  841. ),
  842. createVNode(
  843. Button,
  844. {
  845. round: true,
  846. block: true,
  847. type: 'primary',
  848. onClick: function onClick() {
  849. return _this2.onChoice(
  850. _this2.selectType === 'Checkbox'
  851. ? _this2.checkBox
  852. : _this2.radio
  853. )
  854. }
  855. },
  856. {
  857. default: function _default() {
  858. return [createTextVNode('\u786E\u5B9A')]
  859. }
  860. }
  861. )
  862. ]
  863. )
  864. ]
  865. }
  866. }
  867. )
  868. ])
  869. }
  870. })
  871. var SelectStudents = defineComponent({
  872. name: 'SelectStudents',
  873. props: {
  874. subjectList: { type: Array, default: [] },
  875. onSetStudents: {
  876. type: Function,
  877. default: function _default(n) {}
  878. }
  879. },
  880. setup: function setup(props, _ref) {
  881. var expose = _ref.expose
  882. var show = ref(false)
  883. var subjectName = ref('全部声部')
  884. var params = reactive({
  885. courseId: undefined, //课程id
  886. subjectId: undefined, // 声部ID
  887. userName: undefined // 学员姓名
  888. })
  889. var list = ref([])
  890. var getList = /*#__PURE__*/ (function () {
  891. var _ref2 = _asyncToGenerator(
  892. /*#__PURE__*/ regeneratorRuntime.mark(function _callee2() {
  893. var _yield$request$post, code, data
  894. return regeneratorRuntime.wrap(
  895. function _callee2$(_context2) {
  896. while (1) {
  897. switch ((_context2.prev = _context2.next)) {
  898. case 0:
  899. _context2.prev = 0
  900. _context2.next = 3
  901. return request.post(
  902. '/api-teacher/courseSchedule/selectStudent',
  903. { data: _objectSpread({}, params) }
  904. )
  905. case 3:
  906. _yield$request$post = _context2.sent
  907. code = _yield$request$post.code
  908. data = _yield$request$post.data
  909. if (code === 200) {
  910. data.rows.forEach(function (n) {
  911. return (n.checked = false)
  912. })
  913. list.value = data.rows
  914. }
  915. _context2.next = 11
  916. break
  917. case 9:
  918. _context2.prev = 9
  919. _context2.t0 = _context2['catch'](0)
  920. case 11:
  921. case 'end':
  922. return _context2.stop()
  923. }
  924. }
  925. },
  926. _callee2,
  927. null,
  928. [[0, 9]]
  929. )
  930. })
  931. )
  932. return function getList() {
  933. return _ref2.apply(this, arguments)
  934. }
  935. })()
  936. onMounted(function () {
  937. getList()
  938. })
  939. var onSearch = function onSearch(val) {
  940. params.userName = val || ''
  941. getList()
  942. }
  943. var toggle = function toggle(n) {
  944. var selectList = list.value.filter(function (n) {
  945. return n.checked
  946. })
  947. if (selectList.length === 7 && !n.checked) {
  948. Toast('最多选择7个学员')
  949. return
  950. }
  951. n.checked = !n.checked
  952. }
  953. var onDelete = function onDelete(n) {
  954. list.value.forEach(function (item) {
  955. if (item.userId === n.userId) item.checked = false
  956. })
  957. }
  958. expose({ onDelete: onDelete })
  959. return function () {
  960. return createVNode('div', { class: styles$3.container }, [
  961. createVNode(
  962. Sticky,
  963. { offsetTop: 0 },
  964. {
  965. default: function _default() {
  966. return [
  967. createVNode(ColHeader, { title: '选择学员' }, null),
  968. createVNode(
  969. ColSearch,
  970. {
  971. placeholder: '请输入学员名称',
  972. onSearch: onSearch
  973. },
  974. {
  975. left: function left() {
  976. return createVNode(
  977. 'div',
  978. {
  979. class: styles$3.label,
  980. onClick: function onClick() {
  981. show.value = true
  982. }
  983. },
  984. [
  985. subjectName.value,
  986. createVNode(
  987. Icon,
  988. {
  989. classPrefix: 'iconfont',
  990. name: 'down',
  991. size: 12,
  992. color: '#333'
  993. },
  994. null
  995. )
  996. ]
  997. )
  998. }
  999. }
  1000. )
  1001. ]
  1002. }
  1003. }
  1004. ),
  1005. list.value.map(function (n) {
  1006. return createVNode(
  1007. 'div',
  1008. {
  1009. onClick: function onClick() {
  1010. toggle(n)
  1011. }
  1012. },
  1013. [
  1014. createVNode(
  1015. Student,
  1016. { item: n },
  1017. {
  1018. default: function _default() {
  1019. return [
  1020. createVNode('div', { class: styles$3.check }, [
  1021. createVNode(
  1022. Checkbox,
  1023. { modelValue: n.checked, name: n.userId },
  1024. null
  1025. )
  1026. ])
  1027. ]
  1028. }
  1029. }
  1030. )
  1031. ]
  1032. )
  1033. }),
  1034. createVNode('div', { class: styles$3.btnGroup }, [
  1035. createVNode(
  1036. Button,
  1037. {
  1038. block: true,
  1039. round: true,
  1040. class: styles$3.confirmBtn,
  1041. type: 'primary',
  1042. onClick: function onClick() {
  1043. var stus = src(
  1044. list.value.filter(function (n) {
  1045. return n.checked
  1046. })
  1047. ) // console.log(stus)
  1048. props.onSetStudents && props.onSetStudents(stus)
  1049. }
  1050. },
  1051. {
  1052. default: function _default() {
  1053. return [createTextVNode('\u786E\u8BA4')]
  1054. }
  1055. }
  1056. )
  1057. ]),
  1058. createVNode(
  1059. Popup,
  1060. {
  1061. show: show.value,
  1062. 'onUpdate:show': function onUpdateShow($event) {
  1063. return (show.value = $event)
  1064. },
  1065. position: 'bottom',
  1066. round: true,
  1067. closeable: true,
  1068. 'safe-area-inset-bottom': true
  1069. },
  1070. {
  1071. default: function _default() {
  1072. return [
  1073. createVNode(
  1074. Voice,
  1075. {
  1076. class: styles$3.voicePopupContent,
  1077. single: true,
  1078. selectType: 'Radio',
  1079. subjectList: props.subjectList,
  1080. onChoice: function onChoice(val) {
  1081. var voice = props.subjectList.filter(function (
  1082. n
  1083. ) {
  1084. return n.id === val
  1085. })[0] || { name: '全部声部' }
  1086. params.subjectId = voice.id
  1087. subjectName.value = voice.name
  1088. show.value = false
  1089. getList()
  1090. }
  1091. },
  1092. null
  1093. )
  1094. ]
  1095. }
  1096. }
  1097. )
  1098. ])
  1099. }
  1100. }
  1101. })
  1102. var fieldProps = {
  1103. 'is-link': true,
  1104. readonly: true,
  1105. 'arrow-direction': 'down'
  1106. }
  1107. var init = function init() {
  1108. return reactive({
  1109. courseName: '', // 课程名称
  1110. classNum: 1, // 课时数
  1111. singleClassTime: '', //单课时长
  1112. freeCourseMinutes: '', // 休息时间
  1113. studentIds: [], //学员id集合
  1114. subjectId: 0,
  1115. subjectName: '',
  1116. week: '', // 周几
  1117. isSkipHolidays: true,
  1118. startTime: '',
  1119. endTime: ''
  1120. })
  1121. }
  1122. var params
  1123. var ClassInfo = exports(
  1124. 'C',
  1125. defineComponent({
  1126. name: 'ClassArrangement',
  1127. props: {
  1128. onSubmit: { type: Function, default: function _default() {} }
  1129. },
  1130. setup: function setup(props) {
  1131. var selectStudentShow = ref(false)
  1132. params = init() // 设置学员
  1133. var studentRef = ref('')
  1134. var students = ref([])
  1135. var onSetStudents = function onSetStudents(result) {
  1136. students.value = result
  1137. params.studentIds = students.value
  1138. selectStudentShow.value = false
  1139. }
  1140. var onDeleteStudent = function onDeleteStudent(index) {
  1141. var n = students.value.splice(index, 1)[0]
  1142. studentRef === null || studentRef === void 0
  1143. ? void 0
  1144. : studentRef.value.onDelete(n)
  1145. } // 训练声部
  1146. var voiceShow = ref(false)
  1147. var subjectList = ref([]) // 声部分类
  1148. var getSubjectSelect = /*#__PURE__*/ (function () {
  1149. var _ref3 = _asyncToGenerator(
  1150. /*#__PURE__*/ regeneratorRuntime.mark(function _callee3() {
  1151. var teachRes
  1152. return regeneratorRuntime.wrap(
  1153. function _callee3$(_context3) {
  1154. while (1) {
  1155. switch ((_context3.prev = _context3.next)) {
  1156. case 0:
  1157. _context3.prev = 0
  1158. _context3.next = 3
  1159. return request.post(
  1160. '/api-teacher/teacher/querySubject'
  1161. )
  1162. case 3:
  1163. teachRes = _context3.sent
  1164. subjectList.value = teachRes.data || []
  1165. _context3.next = 9
  1166. break
  1167. case 7:
  1168. _context3.prev = 7
  1169. _context3.t0 = _context3['catch'](0)
  1170. case 9:
  1171. case 'end':
  1172. return _context3.stop()
  1173. }
  1174. }
  1175. },
  1176. _callee3,
  1177. null,
  1178. [[0, 7]]
  1179. )
  1180. })
  1181. )
  1182. return function getSubjectSelect() {
  1183. return _ref3.apply(this, arguments)
  1184. }
  1185. })()
  1186. onMounted(function () {
  1187. getSubjectSelect()
  1188. }) //上课时间
  1189. var classTime = ref([])
  1190. var classTimeShow = ref(false)
  1191. var getClassTime = /*#__PURE__*/ (function () {
  1192. var _ref4 = _asyncToGenerator(
  1193. /*#__PURE__*/ regeneratorRuntime.mark(function _callee4() {
  1194. var res, i, len, paramValue
  1195. return regeneratorRuntime.wrap(
  1196. function _callee4$(_context4) {
  1197. while (1) {
  1198. switch ((_context4.prev = _context4.next)) {
  1199. case 0:
  1200. _context4.prev = 0
  1201. _context4.next = 3
  1202. return request.get(
  1203. '/api-teacher/sysConfig/queryByParamNameList',
  1204. {
  1205. params: {
  1206. paramNames:
  1207. 'course_start_setting,course_end_setting,piano_time_setting'
  1208. }
  1209. }
  1210. )
  1211. case 3:
  1212. res = _context4.sent
  1213. if (res.code === 200) {
  1214. for (
  1215. i = 0, len = res.data.length;
  1216. i < len;
  1217. i++
  1218. ) {
  1219. if (
  1220. res.data[i].paramName ===
  1221. 'course_start_setting'
  1222. ) {
  1223. params.startTime = res.data[i].paramValue
  1224. }
  1225. if (
  1226. res.data[i].paramName ===
  1227. 'course_end_setting'
  1228. ) {
  1229. params.endTime = res.data[i].paramValue
  1230. }
  1231. if (
  1232. res.data[i].paramName ===
  1233. 'course_start_setting'
  1234. ) {
  1235. params.startTime = res.data[i].paramValue
  1236. }
  1237. if (
  1238. res.data[i].paramName ===
  1239. 'piano_time_setting'
  1240. ) {
  1241. paramValue = []
  1242. try {
  1243. paramValue = JSON.parse(
  1244. res.data[i].paramValue
  1245. )
  1246. } catch (error) {}
  1247. classTime.value = paramValue
  1248. }
  1249. }
  1250. }
  1251. _context4.next = 9
  1252. break
  1253. case 7:
  1254. _context4.prev = 7
  1255. _context4.t0 = _context4['catch'](0)
  1256. case 9:
  1257. case 'end':
  1258. return _context4.stop()
  1259. }
  1260. }
  1261. },
  1262. _callee4,
  1263. null,
  1264. [[0, 7]]
  1265. )
  1266. })
  1267. )
  1268. return function getClassTime() {
  1269. return _ref4.apply(this, arguments)
  1270. }
  1271. })()
  1272. var actions = computed(function () {
  1273. var list = []
  1274. classTime.value.forEach(function (n) {
  1275. list.push({ name: n.courseMinutes + '分钟' })
  1276. })
  1277. return list
  1278. })
  1279. onMounted(function () {
  1280. getClassTime()
  1281. }) // 节假日
  1282. ref('')
  1283. return function () {
  1284. return createVNode(Fragment, null, [
  1285. createVNode(
  1286. Form,
  1287. {
  1288. scrollToError: true,
  1289. onSubmit: function onSubmit() {
  1290. if (props.onSubmit) {
  1291. props.onSubmit(params)
  1292. }
  1293. }
  1294. },
  1295. {
  1296. default: function _default() {
  1297. return [
  1298. createVNode('div', { class: styles$4.container }, [
  1299. createVNode(
  1300. Field,
  1301. {
  1302. label: '课程名称',
  1303. placeholder: '请输入课程名称',
  1304. maxlength: 20,
  1305. name: 'courseName',
  1306. modelValue: params.courseName,
  1307. 'onUpdate:modelValue':
  1308. function onUpdateModelValue($event) {
  1309. return (params.courseName = $event)
  1310. },
  1311. rules: [
  1312. {
  1313. required: true,
  1314. message: '请输入您的课程名称'
  1315. }
  1316. ]
  1317. },
  1318. null
  1319. ),
  1320. createVNode(
  1321. Field,
  1322. mergeProps(
  1323. {
  1324. label: '训练声部',
  1325. placeholder: '请选择训练声部'
  1326. },
  1327. fieldProps,
  1328. {
  1329. name: 'subjectName',
  1330. modelValue: params.subjectName,
  1331. onClick: function onClick() {
  1332. return (voiceShow.value = true)
  1333. },
  1334. rules: [
  1335. {
  1336. required: true,
  1337. message: '请选择训练声部'
  1338. }
  1339. ]
  1340. }
  1341. ),
  1342. null
  1343. ),
  1344. createVNode(
  1345. Cell,
  1346. { style: { padding: 0 } },
  1347. {
  1348. default: function _default() {
  1349. return [
  1350. createVNode(
  1351. Field,
  1352. mergeProps(
  1353. {
  1354. name: 'students',
  1355. class: styles$4.student,
  1356. border: false,
  1357. label: '上课学员',
  1358. placeholder: '请选择上课学员',
  1359. modelValue: students.value.length
  1360. },
  1361. fieldProps,
  1362. {
  1363. onClick: function onClick() {
  1364. return (selectStudentShow.value = true)
  1365. },
  1366. rules: [
  1367. {
  1368. required: true,
  1369. validator:
  1370. function validator() {
  1371. return students.value.length
  1372. ? true
  1373. : false
  1374. },
  1375. message: '请选择上课学员'
  1376. }
  1377. ]
  1378. }
  1379. ),
  1380. null
  1381. ),
  1382. students.value.length
  1383. ? createVNode(
  1384. 'div',
  1385. { class: styles$4.tags },
  1386. [
  1387. students.value.map(function (
  1388. n,
  1389. index
  1390. ) {
  1391. return createVNode(
  1392. Tag,
  1393. {
  1394. closeable: true,
  1395. onClose:
  1396. function onClose() {
  1397. return onDeleteStudent(
  1398. index
  1399. )
  1400. }
  1401. },
  1402. {
  1403. default:
  1404. function _default() {
  1405. return [n.userName]
  1406. }
  1407. }
  1408. )
  1409. })
  1410. ]
  1411. )
  1412. : null
  1413. ]
  1414. }
  1415. }
  1416. ),
  1417. createVNode(
  1418. Field,
  1419. {
  1420. label: '课时数',
  1421. placeholder: '请输入课时数'
  1422. },
  1423. {
  1424. input: function input() {
  1425. return createVNode(
  1426. Stepper,
  1427. {
  1428. 'disable-input': true,
  1429. modelValue: params.classNum,
  1430. 'onUpdate:modelValue':
  1431. function onUpdateModelValue($event) {
  1432. return (params.classNum = $event)
  1433. }
  1434. },
  1435. null
  1436. )
  1437. }
  1438. }
  1439. ),
  1440. createVNode(
  1441. Field,
  1442. mergeProps(
  1443. {
  1444. class: styles$4.singleClassTime,
  1445. label: '单课时时长'
  1446. },
  1447. fieldProps,
  1448. {
  1449. modelValue: params.singleClassTime,
  1450. onClick: function onClick() {
  1451. return (classTimeShow.value = true)
  1452. },
  1453. rules: [
  1454. {
  1455. required: true,
  1456. message: '请选择单课时时长'
  1457. }
  1458. ]
  1459. }
  1460. ),
  1461. null
  1462. ),
  1463. createVNode(
  1464. Cell,
  1465. { title: '是否跳过节假日' },
  1466. {
  1467. value: function value() {
  1468. return createVNode(
  1469. RadioGroup,
  1470. {
  1471. class: styles$4.holdays,
  1472. modelValue: params.isSkipHolidays,
  1473. 'onUpdate:modelValue':
  1474. function onUpdateModelValue($event) {
  1475. return (params.isSkipHolidays =
  1476. $event)
  1477. }
  1478. },
  1479. {
  1480. default: function _default() {
  1481. return [
  1482. createVNode(
  1483. Radio,
  1484. {
  1485. name: true,
  1486. style: { marginRight: '10px' }
  1487. },
  1488. {
  1489. default: function _default() {
  1490. return [
  1491. createTextVNode('\u662F')
  1492. ]
  1493. }
  1494. }
  1495. ),
  1496. createVNode(
  1497. Radio,
  1498. { name: false },
  1499. {
  1500. default: function _default() {
  1501. return [
  1502. createTextVNode('\u5426')
  1503. ]
  1504. }
  1505. }
  1506. )
  1507. ]
  1508. }
  1509. }
  1510. )
  1511. }
  1512. }
  1513. ),
  1514. createVNode(Cell, null, {
  1515. title: function title() {
  1516. return createVNode(
  1517. 'div',
  1518. { class: styles$4.tips },
  1519. [
  1520. createVNode(
  1521. 'img',
  1522. { class: styles$4.icon, src: iconTips },
  1523. null
  1524. ),
  1525. createVNode('span', null, [
  1526. createTextVNode(
  1527. '\u6E29\u99A8\u63D0\u9192'
  1528. )
  1529. ])
  1530. ]
  1531. )
  1532. },
  1533. label: function label() {
  1534. return createVNode(
  1535. 'div',
  1536. { class: styles$4.tipsContent },
  1537. [
  1538. createTextVNode(
  1539. '1\u3001\u4E91\u9177\u7434\u623F\u65F6\u957F\u6309\u8BFE\u7A0B\u5B66\u751F\u4EBA\u6570\u6263\u51CF\uFF0C\u4EE545\u5206\u949F1\u5BF92\u8BFE\u7A0B\u4E3A\u4F8B\uFF0C\u8BFE\u7A0B\u7ED3\u675F\u540E\u5C06\u6D88\u8017\u65F6\u957F\uFF1A2\u4EBA*45\u5206\u949F=90\u5206\u949F\uFF1B'
  1540. ),
  1541. createVNode('br', null, null),
  1542. createVNode('br', null, null),
  1543. createTextVNode(
  1544. '2\u3001\u6BCF\u8282\u7EBF\u4E0A\u8BFE\u5E73\u53F0\u8D60\u900110\u5206\u949F\u514D\u8D39\u65F6\u957F\uFF0C\u5206\u522B\u4E3A\u8BFE\u524D5\u5206\u949F\u53CA\u8BFE\u540E5\u5206\u949F\uFF0C\u8D60\u9001\u65F6\u957F\u4E0D\u8BA1\u7B97\u8D39\u7528\uFF1B'
  1545. ),
  1546. createVNode('br', null, null),
  1547. createVNode('br', null, null),
  1548. createTextVNode(
  1549. '3\u3001\u8BFE\u7A0B\u6D88\u8017\u65F6\u957F\u6309\u6392\u8BFE\u4EBA\u6570\u8BA1\u7B97\uFF0C\u65E0\u8BBA\u5B9E\u9645\u5230\u8BFE\u4EBA\u6570\u662F\u5426\u4E3A\u6392\u8BFE\u4EBA\u6570\uFF0C\u90FD\u4F1A\u6309\u7167\u6392\u8BFE\u4EBA\u6570\u6263\u8D39\uFF1B'
  1550. ),
  1551. createVNode('br', null, null),
  1552. createVNode('br', null, null),
  1553. createTextVNode(
  1554. '4\u3001\u8BFE\u7A0B\u7ED3\u675F\u540E\u8D39\u7528\u7ACB\u5373\u7ED3\u7B97\uFF1B'
  1555. ),
  1556. createVNode('br', null, null),
  1557. createVNode('br', null, null),
  1558. createTextVNode(
  1559. '5\u3001\u7434\u623F\u65F6\u957F\u4E0D\u8DB3\u65F6\uFF0C\u60A8\u5C06\u65E0\u6CD5\u6392\u8BFE\uFF0C\u8BF7\u786E\u4FDD\u7434\u623F\u5269\u4F59\u65F6\u957F\u5145\u8DB3\u3002'
  1560. )
  1561. ]
  1562. )
  1563. }
  1564. }),
  1565. createVNode(
  1566. Button,
  1567. {
  1568. block: true,
  1569. type: 'primary',
  1570. round: true,
  1571. nativeType: 'submit',
  1572. style: {
  1573. margin: '0 auto',
  1574. width: '90%',
  1575. marginTop: '20px'
  1576. }
  1577. },
  1578. {
  1579. default: function _default() {
  1580. return [
  1581. createTextVNode('\u4E0B\u4E00\u6B65')
  1582. ]
  1583. }
  1584. }
  1585. )
  1586. ])
  1587. ]
  1588. }
  1589. }
  1590. ),
  1591. createVNode(
  1592. Popup,
  1593. {
  1594. show: voiceShow.value,
  1595. 'onUpdate:show': function onUpdateShow($event) {
  1596. return (voiceShow.value = $event)
  1597. },
  1598. position: 'bottom',
  1599. round: true,
  1600. closeable: true,
  1601. 'safe-area-inset-bottom': true,
  1602. class: styles$4.voicePopup
  1603. },
  1604. {
  1605. default: function _default() {
  1606. return [
  1607. createVNode(
  1608. Voice,
  1609. {
  1610. class: styles$4.voicePopupContent,
  1611. single: true,
  1612. selectType: 'Radio',
  1613. subjectList: subjectList.value,
  1614. onChoice: function onChoice(val) {
  1615. var voice = subjectList.value.filter(
  1616. function (n) {
  1617. return n.id === val
  1618. }
  1619. )[0]
  1620. if (voice) {
  1621. params.subjectId = voice.id
  1622. params.subjectName = voice.name
  1623. voiceShow.value = false
  1624. } else {
  1625. params.subjectId = 0
  1626. params.subjectName = ''
  1627. }
  1628. }
  1629. },
  1630. null
  1631. )
  1632. ]
  1633. }
  1634. }
  1635. ),
  1636. createVNode(
  1637. ColPopup,
  1638. {
  1639. modelValue: selectStudentShow.value,
  1640. 'onUpdate:modelValue': function onUpdateModelValue(
  1641. $event
  1642. ) {
  1643. return (selectStudentShow.value = $event)
  1644. }
  1645. },
  1646. {
  1647. default: function _default() {
  1648. return [
  1649. createVNode(
  1650. SelectStudents,
  1651. {
  1652. ref: studentRef,
  1653. subjectList: subjectList.value,
  1654. onSetStudents: onSetStudents
  1655. },
  1656. null
  1657. )
  1658. ]
  1659. }
  1660. }
  1661. ),
  1662. createVNode(
  1663. ActionSheet,
  1664. {
  1665. show: classTimeShow.value,
  1666. 'onUpdate:show': function onUpdateShow($event) {
  1667. return (classTimeShow.value = $event)
  1668. },
  1669. actions: actions.value,
  1670. cancelText: '取消',
  1671. closeOnClickAction: true,
  1672. onSelect: function onSelect(value, index) {
  1673. params.singleClassTime =
  1674. classTime.value[index].courseMinutes
  1675. params.freeCourseMinutes =
  1676. classTime.value[index].freeMinutes
  1677. }
  1678. },
  1679. null
  1680. )
  1681. ])
  1682. }
  1683. }
  1684. })
  1685. )
  1686. var createClass = '_createClass_129c1_1'
  1687. var arrangeCell = '_arrangeCell_129c1_4'
  1688. var rTitle = '_rTitle_129c1_10'
  1689. var rTag = '_rTag_129c1_26'
  1690. var tag = '_tag_129c1_29'
  1691. var selectPopup = '_selectPopup_129c1_33'
  1692. var selectContainer = '_selectContainer_129c1_38'
  1693. var selectPopupContent = '_selectPopupContent_129c1_44'
  1694. var desc = '_desc_129c1_47'
  1695. var times = '_times_129c1_48'
  1696. var selectBtn = '_selectBtn_129c1_59'
  1697. var btn = '_btn_129c1_64'
  1698. var coursePopup = '_coursePopup_129c1_67'
  1699. var styles$1 = {
  1700. createClass: createClass,
  1701. arrangeCell: arrangeCell,
  1702. rTitle: rTitle,
  1703. rTag: rTag,
  1704. tag: tag,
  1705. selectPopup: selectPopup,
  1706. selectContainer: selectContainer,
  1707. selectPopupContent: selectPopupContent,
  1708. desc: desc,
  1709. times: times,
  1710. selectBtn: selectBtn,
  1711. btn: btn,
  1712. coursePopup: coursePopup
  1713. }
  1714. var box = '_box_12gfu_1'
  1715. var wrap = '_wrap_12gfu_5'
  1716. var title = '_title_12gfu_9'
  1717. var leftIcon = '_leftIcon_12gfu_19'
  1718. var stu = '_stu_12gfu_26'
  1719. var timeBox = '_timeBox_12gfu_30'
  1720. var timeTitle = '_timeTitle_12gfu_38'
  1721. var timeItem = '_timeItem_12gfu_42'
  1722. var footer = '_footer_12gfu_46'
  1723. var styles = {
  1724. box: box,
  1725. wrap: wrap,
  1726. title: title,
  1727. leftIcon: leftIcon,
  1728. stu: stu,
  1729. timeBox: timeBox,
  1730. timeTitle: timeTitle,
  1731. timeItem: timeItem,
  1732. footer: footer
  1733. }
  1734. var CourseSchedule = defineComponent({
  1735. name: 'CourseSchedule',
  1736. props: {
  1737. curriculum: { type: Array, default: [] },
  1738. onClose: { type: Function, default: function _default(n) {} },
  1739. onComfirm: { type: Function, default: function _default(n) {} }
  1740. },
  1741. setup: function setup(props) {
  1742. var students = computed(function () {
  1743. var list = params.studentIds.map(function (n) {
  1744. return n.userName
  1745. })
  1746. return list.join('、')
  1747. })
  1748. return function () {
  1749. var n = params.studentIds.length
  1750. return createVNode('div', { class: styles.box }, [
  1751. createVNode('div', { class: styles.title }, [
  1752. createVNode('div', { class: styles.leftIcon }, null),
  1753. createTextVNode('\u8BFE\u7A0B\u9884\u89C8')
  1754. ]),
  1755. createVNode('div', { class: styles.wrap }, [
  1756. createVNode('div', { class: styles.stu }, [
  1757. createVNode('div', null, [
  1758. createTextVNode('\u60A8\u5C06\u4E3A\u5B66\u5458\uFF1A'),
  1759. createVNode(
  1760. 'span',
  1761. { style: { color: 'var(--van-primary)' } },
  1762. [students.value]
  1763. )
  1764. ]),
  1765. createVNode('div', null, [
  1766. createTextVNode('\u6392'),
  1767. createVNode(
  1768. 'span',
  1769. { style: { color: '#FF4E19', margin: '0 10px' } },
  1770. [
  1771. params.classNum,
  1772. createTextVNode('\u8282 '),
  1773. params.singleClassTime,
  1774. createTextVNode('\u5206\u949F')
  1775. ]
  1776. ),
  1777. createTextVNode('\u8BFE\u7A0B')
  1778. ])
  1779. ]),
  1780. createVNode('div', { class: styles.timeBox }, [
  1781. createVNode('div', { class: styles.timeTitle }, [
  1782. createTextVNode('\u4E0A\u8BFE\u65F6\u95F4\uFF1A')
  1783. ]),
  1784. props.curriculum.map(function (item) {
  1785. return createVNode('div', { class: styles.timeItem }, [
  1786. dayjs(item.startTime || new Date()).format(
  1787. 'YYYY-MM-DD'
  1788. ),
  1789. ' ',
  1790. dayjs(item.startTime || new Date()).format('HH:mm'),
  1791. createTextVNode('~'),
  1792. dayjs(item.endTime || new Date()).format('HH:mm')
  1793. ])
  1794. })
  1795. ]),
  1796. createVNode('div', { style: { color: '#999999' } }, [
  1797. createTextVNode(
  1798. '\u4EE5\u4E0A\u8BFE\u7A0B\u9884\u8BA1\u5C06\u6D88\u8017\u7434\u623F\u65F6\u957F'
  1799. ),
  1800. ' ',
  1801. Math.ceil(
  1802. n * params.classNum * parseInt(params.singleClassTime)
  1803. ),
  1804. ' ',
  1805. createTextVNode('\u5206\u949F '),
  1806. createVNode('br', null, null),
  1807. createTextVNode(
  1808. '\u786E\u8BA4\u6392\u8BFE\u540E\u65F6\u957F\u51BB\u7ED3 '
  1809. ),
  1810. createVNode('br', null, null),
  1811. createTextVNode(
  1812. '\u5B9E\u9645\u6D88\u8017\u65F6\u957F\u4EE5\u6263\u51CF\u7ED3\u679C\u4E3A\u51C6 '
  1813. ),
  1814. createVNode('br', null, null)
  1815. ])
  1816. ]),
  1817. createVNode('div', { class: styles.footer }, [
  1818. createVNode(
  1819. Button,
  1820. {
  1821. block: true,
  1822. round: true,
  1823. onClick: function onClick() {
  1824. return props.onClose()
  1825. }
  1826. },
  1827. {
  1828. default: function _default() {
  1829. return [createTextVNode('\u91CD\u65B0\u9009\u62E9')]
  1830. }
  1831. }
  1832. ),
  1833. createVNode(
  1834. Button,
  1835. {
  1836. block: true,
  1837. round: true,
  1838. type: 'primary',
  1839. onClick: function onClick() {
  1840. return props.onComfirm()
  1841. }
  1842. },
  1843. {
  1844. default: function _default() {
  1845. return [createTextVNode('\u786E\u8BA4\u6392\u8BFE')]
  1846. }
  1847. }
  1848. )
  1849. ])
  1850. ])
  1851. }
  1852. }
  1853. })
  1854. var CreateClass = exports(
  1855. 'a',
  1856. defineComponent({
  1857. name: 'createClass',
  1858. props: {
  1859. active: { type: Number, default: 1 },
  1860. onBack: {
  1861. type: Function,
  1862. default: function _default() {
  1863. return function () {}
  1864. }
  1865. }
  1866. },
  1867. setup: function setup(props) {
  1868. watch(
  1869. function () {
  1870. return props.active
  1871. },
  1872. function (val) {
  1873. // console.log(val)
  1874. if (val === 2) {
  1875. getList()
  1876. }
  1877. }
  1878. ) //日期设置
  1879. var data = reactive({ calendarList: {}, selectList: [] })
  1880. var getList = /*#__PURE__*/ (function () {
  1881. var _ref5 = _asyncToGenerator(
  1882. /*#__PURE__*/ regeneratorRuntime.mark(function _callee5(
  1883. date
  1884. ) {
  1885. var tempDate,
  1886. params$1,
  1887. _state$user$data,
  1888. res,
  1889. result,
  1890. tempObj
  1891. return regeneratorRuntime.wrap(
  1892. function _callee5$(_context5) {
  1893. while (1) {
  1894. switch ((_context5.prev = _context5.next)) {
  1895. case 0:
  1896. tempDate =
  1897. date || dayjs().add(1, 'day').toDate()
  1898. params$1 = {
  1899. day: dayjs(tempDate).format('DD'),
  1900. month: dayjs(tempDate).format('MM'),
  1901. year: dayjs(tempDate).format('YYYY')
  1902. }
  1903. _context5.prev = 2
  1904. _context5.next = 5
  1905. return request.post(
  1906. '/api-teacher/courseSchedule/createLiveCourseCalendar',
  1907. {
  1908. data: _objectSpread(
  1909. _objectSpread({}, params$1),
  1910. {},
  1911. {
  1912. singleCourseMinutes:
  1913. params.singleClassTime,
  1914. freeCourseMinutes:
  1915. params.freeCourseMinutes,
  1916. teacherId:
  1917. (_state$user$data =
  1918. state.user.data) === null ||
  1919. _state$user$data === void 0
  1920. ? void 0
  1921. : _state$user$data.userId
  1922. }
  1923. )
  1924. }
  1925. )
  1926. case 5:
  1927. res = _context5.sent
  1928. result = res.data || []
  1929. tempObj = {}
  1930. result.forEach(function (item) {
  1931. tempObj[item.date] = item
  1932. })
  1933. data.calendarList = tempObj
  1934. _context5.next = 14
  1935. break
  1936. case 12:
  1937. _context5.prev = 12
  1938. _context5.t0 = _context5['catch'](2)
  1939. case 14:
  1940. case 'end':
  1941. return _context5.stop()
  1942. }
  1943. }
  1944. },
  1945. _callee5,
  1946. null,
  1947. [[2, 12]]
  1948. )
  1949. })
  1950. )
  1951. return function getList(_x) {
  1952. return _ref5.apply(this, arguments)
  1953. }
  1954. })()
  1955. var onSelectDay = function onSelectDay(res) {
  1956. // 对数组进行排序
  1957. res.sort(function (first, second) {
  1958. if (first.startTime > second.startTime) return 1
  1959. if (first.startTime < second.startTime) return -1
  1960. return 0
  1961. })
  1962. data.selectList = res
  1963. }
  1964. var showSelectList = computed(function () {
  1965. // 显示时间
  1966. var list = _toConsumableArray(data.selectList)
  1967. list.forEach(function (item) {
  1968. item.title =
  1969. dayjs(item.startTime).format('YYYY-MM-DD') +
  1970. ' ' +
  1971. getWeekCh(dayjs(item.startTime).day()) +
  1972. ' ' +
  1973. item.start +
  1974. '~' +
  1975. item.end
  1976. })
  1977. return list
  1978. })
  1979. var selectType = computed(function () {
  1980. // 循环次数是否足够
  1981. return data.selectList.length < params.classNum
  1982. ? 'noEnough'
  1983. : 'enough'
  1984. })
  1985. var onCloseTag = function onCloseTag(item) {
  1986. // 删除课程
  1987. Dialog.confirm({
  1988. title: '提示',
  1989. message: '您是否要删除该选择的课程?',
  1990. confirmButtonColor: 'var(--van-primary)'
  1991. }).then(function () {
  1992. var index = data.selectList.findIndex(function (course) {
  1993. return course.startTime === item.startTime
  1994. })
  1995. data.selectList.splice(index, 1)
  1996. })
  1997. }
  1998. var selectStatus = ref(false)
  1999. var onSubmit = /*#__PURE__*/ (function () {
  2000. var _ref6 = _asyncToGenerator(
  2001. /*#__PURE__*/ regeneratorRuntime.mark(function _callee6() {
  2002. return regeneratorRuntime.wrap(function _callee6$(
  2003. _context6
  2004. ) {
  2005. while (1) {
  2006. switch ((_context6.prev = _context6.next)) {
  2007. case 0:
  2008. if (!(data.selectList.length <= 0)) {
  2009. _context6.next = 3
  2010. break
  2011. }
  2012. Toast('请选择课程时间')
  2013. return _context6.abrupt('return')
  2014. case 3:
  2015. if (!(data.selectList.length < params.classNum)) {
  2016. _context6.next = 6
  2017. break
  2018. }
  2019. selectStatus.value = true
  2020. return _context6.abrupt('return')
  2021. case 6: // await this._lookCourse()
  2022. confirmShow.value = true
  2023. case 7:
  2024. case 'end':
  2025. return _context6.stop()
  2026. }
  2027. }
  2028. },
  2029. _callee6)
  2030. })
  2031. )
  2032. return function onSubmit() {
  2033. return _ref6.apply(this, arguments)
  2034. }
  2035. })()
  2036. var onComfirm = /*#__PURE__*/ (function () {
  2037. var _ref7 = _asyncToGenerator(
  2038. /*#__PURE__*/ regeneratorRuntime.mark(function _callee7() {
  2039. var _state$user$data2, _times, res
  2040. return regeneratorRuntime.wrap(function _callee7$(
  2041. _context7
  2042. ) {
  2043. while (1) {
  2044. switch ((_context7.prev = _context7.next)) {
  2045. case 0:
  2046. if (!(selectType.value === 'noEnough')) {
  2047. _context7.next = 10
  2048. break
  2049. }
  2050. _times = []
  2051. data.selectList.forEach(function (item) {
  2052. _times.push({
  2053. startTime: item.startTime,
  2054. endTime: item.endTime
  2055. })
  2056. })
  2057. console.log(data.selectList)
  2058. _context7.next = 6
  2059. return request.post(
  2060. '/api-teacher/courseGroup/lockCourseToCache',
  2061. {
  2062. data: {
  2063. courseNum: params.classNum,
  2064. courseType: 'PIANO_ROOM_CLASS',
  2065. loop: 1,
  2066. teacherId:
  2067. (_state$user$data2 = state.user.data) ===
  2068. null || _state$user$data2 === void 0
  2069. ? void 0
  2070. : _state$user$data2.userId,
  2071. timeList: [].concat(_times)
  2072. }
  2073. }
  2074. )
  2075. case 6:
  2076. res = _context7.sent
  2077. if (res.code === 200) {
  2078. res.data.forEach(function (n) {
  2079. n.start = dayjs(n.startTime).format('HH:mm')
  2080. n.end = dayjs(n.endTime).format('HH:mm')
  2081. })
  2082. data.selectList = res.data
  2083. }
  2084. _context7.next = 12
  2085. break
  2086. case 10:
  2087. selectStatus.value = false
  2088. nextTick(function () {
  2089. confirmShow.value = true
  2090. })
  2091. case 12:
  2092. case 'end':
  2093. return _context7.stop()
  2094. }
  2095. }
  2096. },
  2097. _callee7)
  2098. })
  2099. )
  2100. return function onComfirm() {
  2101. return _ref7.apply(this, arguments)
  2102. }
  2103. })()
  2104. var router = useRouter()
  2105. var confirmShow = ref(false) // 排课
  2106. var onCourseSchedule = /*#__PURE__*/ (function () {
  2107. var _ref8 = _asyncToGenerator(
  2108. /*#__PURE__*/ regeneratorRuntime.mark(function _callee8() {
  2109. var timeList, n, _yield$request$post2, code, _data
  2110. return regeneratorRuntime.wrap(
  2111. function _callee8$(_context8) {
  2112. while (1) {
  2113. switch ((_context8.prev = _context8.next)) {
  2114. case 0:
  2115. timeList = data.selectList
  2116. n = params.studentIds.length
  2117. _context8.prev = 2
  2118. _context8.next = 5
  2119. return request.post(
  2120. '/api-teacher/courseSchedule/arrangeCourse',
  2121. {
  2122. data: {
  2123. classNum: params.classNum, //课时数
  2124. consumeTime: Math.ceil(
  2125. n *
  2126. params.classNum *
  2127. parseInt(params.singleClassTime)
  2128. ), //消耗时长
  2129. courseName: params.courseName, //课程名称
  2130. singleClssTime: params.singleClassTime, //单课时长
  2131. studentIds: params.studentIds.map(
  2132. function (n) {
  2133. return n.userId
  2134. }
  2135. ), //学员id集合
  2136. subjectId: params.subjectId, //声部id
  2137. timeList: timeList
  2138. }
  2139. }
  2140. )
  2141. case 5:
  2142. _yield$request$post2 = _context8.sent
  2143. code = _yield$request$post2.code
  2144. _data = _yield$request$post2.data
  2145. if (code === 200) {
  2146. confirmShow.value = false
  2147. setTimeout(function () {
  2148. Toast({
  2149. icon: 'success',
  2150. message: '排课成功',
  2151. duration: 1500,
  2152. onClose: function onClose() {
  2153. router.back()
  2154. }
  2155. })
  2156. }, 100)
  2157. }
  2158. _context8.next = 13
  2159. break
  2160. case 11:
  2161. _context8.prev = 11
  2162. _context8.t0 = _context8['catch'](2)
  2163. case 13:
  2164. case 'end':
  2165. return _context8.stop()
  2166. }
  2167. }
  2168. },
  2169. _callee8,
  2170. null,
  2171. [[2, 11]]
  2172. )
  2173. })
  2174. )
  2175. return function onCourseSchedule() {
  2176. return _ref8.apply(this, arguments)
  2177. }
  2178. })()
  2179. return function () {
  2180. return createVNode('div', { class: styles$1.createClass }, [
  2181. props.active === 2 &&
  2182. createVNode(
  2183. Calendar,
  2184. {
  2185. maxDays: params.classNum,
  2186. list: data.calendarList,
  2187. prevMonth: function prevMonth(date) {
  2188. return getList(date)
  2189. },
  2190. nextMonth: function nextMonth(date) {
  2191. return getList(date)
  2192. },
  2193. selectDay: onSelectDay,
  2194. selectList: data.selectList,
  2195. isSkipHolidays: params.isSkipHolidays
  2196. },
  2197. null
  2198. ),
  2199. createVNode(
  2200. Cell,
  2201. { class: [styles$1.arrangeCell, 'mb12'] },
  2202. {
  2203. title: function title() {
  2204. return createVNode(
  2205. 'div',
  2206. { class: styles$1.rTitle },
  2207. [
  2208. createVNode('span', null, [
  2209. createTextVNode(
  2210. '\u5DF2\u9009\u62E9\u8BFE\u7A0B\u65F6\u95F4'
  2211. )
  2212. ])
  2213. ]
  2214. )
  2215. },
  2216. label: function label() {
  2217. return createVNode('div', { class: styles$1.rTag }, [
  2218. showSelectList.value.map(function (item) {
  2219. return createVNode(Fragment, null, [
  2220. createVNode(
  2221. Tag,
  2222. {
  2223. plain: true,
  2224. round: true,
  2225. closeable: true,
  2226. size: 'large',
  2227. type: 'primary',
  2228. class: styles$1.tag,
  2229. onClose: function onClose() {
  2230. return onCloseTag(item)
  2231. }
  2232. },
  2233. {
  2234. default: function _default() {
  2235. return [item.title]
  2236. }
  2237. }
  2238. ),
  2239. createVNode('br', null, null)
  2240. ])
  2241. })
  2242. ])
  2243. }
  2244. }
  2245. ),
  2246. createVNode(
  2247. Sticky,
  2248. { offsetBottom: 0, position: 'bottom' },
  2249. {
  2250. default: function _default() {
  2251. return [
  2252. createVNode(
  2253. 'div',
  2254. { class: ['btnGroup', 'btnMore'] },
  2255. [
  2256. createVNode(
  2257. Button,
  2258. {
  2259. block: true,
  2260. round: true,
  2261. type: 'primary',
  2262. plain: true,
  2263. onClick: function onClick() {
  2264. props.onBack && props.onBack() // 重置选择的课次
  2265. data.selectList = []
  2266. }
  2267. },
  2268. {
  2269. default: function _default() {
  2270. return [
  2271. createTextVNode('\u4E0A\u4E00\u6B65')
  2272. ]
  2273. }
  2274. }
  2275. ),
  2276. createVNode(
  2277. Button,
  2278. {
  2279. block: true,
  2280. round: true,
  2281. type: 'primary',
  2282. onClick: function onClick() {
  2283. return onSubmit()
  2284. }
  2285. },
  2286. {
  2287. default: function _default() {
  2288. return [
  2289. createTextVNode('\u4E0B\u4E00\u6B65')
  2290. ]
  2291. }
  2292. }
  2293. )
  2294. ]
  2295. )
  2296. ]
  2297. }
  2298. }
  2299. ),
  2300. createVNode(
  2301. Popup,
  2302. { show: selectStatus.value, class: styles$1.selectPopup },
  2303. {
  2304. default: function _default() {
  2305. return [
  2306. createVNode(
  2307. 'div',
  2308. { class: styles$1.selectContainer },
  2309. [
  2310. createVNode('div', { class: styles$1.rTitle }, [
  2311. createVNode('span', null, [
  2312. createTextVNode('\u63D0\u793A')
  2313. ])
  2314. ]),
  2315. createVNode(
  2316. 'div',
  2317. { class: styles$1.selectPopupContent },
  2318. [
  2319. createVNode('p', { class: styles$1.desc }, [
  2320. selectType.value === 'noEnough'
  2321. ? '您所选择的上课时间未达到您输入的课时数,系统根据已选时间将自动按周顺延排课。'
  2322. : '您已选择以下上课时间段,时间段会暂时锁定,锁定期间学员不可购买该时间段课程。'
  2323. ]),
  2324. selectType.value === 'enough' &&
  2325. createVNode(
  2326. 'p',
  2327. { class: styles$1.times },
  2328. [
  2329. data.selectList.map(function (item) {
  2330. return createVNode('span', null, [
  2331. dayjs(
  2332. item.startTime || new Date()
  2333. ).format('YYYY-MM-DD'),
  2334. ' ',
  2335. dayjs(
  2336. item.startTime || new Date()
  2337. ).format('HH:mm'),
  2338. createTextVNode('~'),
  2339. dayjs(
  2340. item.endTime || new Date()
  2341. ).format('HH:mm')
  2342. ])
  2343. })
  2344. ]
  2345. )
  2346. ]
  2347. ),
  2348. createVNode(
  2349. 'div',
  2350. { class: styles$1.selectBtn },
  2351. [
  2352. createVNode(
  2353. Button,
  2354. {
  2355. class: styles$1.btn,
  2356. type: 'primary',
  2357. round: true,
  2358. block: true,
  2359. plain: true,
  2360. onClick: function onClick() {
  2361. return (selectStatus.value = false)
  2362. }
  2363. },
  2364. {
  2365. default: function _default() {
  2366. return [
  2367. selectType.value === 'noEnough'
  2368. ? '继续选择'
  2369. : '重新选择'
  2370. ]
  2371. }
  2372. }
  2373. ),
  2374. createVNode(
  2375. Button,
  2376. {
  2377. class: styles$1.btn,
  2378. type: 'primary',
  2379. round: true,
  2380. block: true,
  2381. onClick: function onClick() {
  2382. return onComfirm()
  2383. }
  2384. },
  2385. {
  2386. default: function _default() {
  2387. return [
  2388. createTextVNode('\u786E\u8BA4')
  2389. ]
  2390. }
  2391. }
  2392. )
  2393. ]
  2394. )
  2395. ]
  2396. )
  2397. ]
  2398. }
  2399. }
  2400. ),
  2401. createVNode(
  2402. Popup,
  2403. {
  2404. position: 'bottom',
  2405. class: styles$1.coursePopup,
  2406. show: confirmShow.value,
  2407. 'onUpdate:show': function onUpdateShow($event) {
  2408. return (confirmShow.value = $event)
  2409. },
  2410. closeable: true,
  2411. round: true
  2412. },
  2413. {
  2414. default: function _default() {
  2415. return [
  2416. createVNode(
  2417. CourseSchedule,
  2418. {
  2419. curriculum: data.selectList,
  2420. onClose: function onClose() {
  2421. confirmShow.value = false
  2422. },
  2423. onComfirm: function onComfirm() {
  2424. onCourseSchedule()
  2425. }
  2426. },
  2427. null
  2428. )
  2429. ]
  2430. }
  2431. }
  2432. )
  2433. ])
  2434. }
  2435. }
  2436. })
  2437. )
  2438. var index = /*#__PURE__*/ Object.freeze(
  2439. ((_Object$freeze = { __proto__: null }),
  2440. _defineProperty(_Object$freeze, Symbol.toStringTag, 'Module'),
  2441. _defineProperty(_Object$freeze, 'default', CreateClass),
  2442. _Object$freeze)
  2443. )
  2444. exports('i', index)
  2445. }
  2446. }
  2447. }
  2448. )
  2449. })()