1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449 |
- ;(function () {
- function ownKeys(object, enumerableOnly) {
- var keys = Object.keys(object)
- if (Object.getOwnPropertySymbols) {
- var symbols = Object.getOwnPropertySymbols(object)
- enumerableOnly &&
- (symbols = symbols.filter(function (sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable
- })),
- keys.push.apply(keys, symbols)
- }
- return keys
- }
- function _objectSpread(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = null != arguments[i] ? arguments[i] : {}
- i % 2
- ? ownKeys(Object(source), !0).forEach(function (key) {
- _defineProperty(target, key, source[key])
- })
- : Object.getOwnPropertyDescriptors
- ? Object.defineProperties(
- target,
- Object.getOwnPropertyDescriptors(source)
- )
- : ownKeys(Object(source)).forEach(function (key) {
- Object.defineProperty(
- target,
- key,
- Object.getOwnPropertyDescriptor(source, key)
- )
- })
- }
- return target
- }
- function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- })
- } else {
- obj[key] = value
- }
- return obj
- }
- function _toConsumableArray(arr) {
- return (
- _arrayWithoutHoles(arr) ||
- _iterableToArray(arr) ||
- _unsupportedIterableToArray(arr) ||
- _nonIterableSpread()
- )
- }
- function _nonIterableSpread() {
- throw new TypeError(
- 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
- )
- }
- function _unsupportedIterableToArray(o, minLen) {
- if (!o) return
- if (typeof o === 'string') return _arrayLikeToArray(o, minLen)
- var n = Object.prototype.toString.call(o).slice(8, -1)
- if (n === 'Object' && o.constructor) n = o.constructor.name
- if (n === 'Map' || n === 'Set') return Array.from(o)
- if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
- return _arrayLikeToArray(o, minLen)
- }
- function _iterableToArray(iter) {
- if (
- (typeof Symbol !== 'undefined' && iter[Symbol.iterator] != null) ||
- iter['@@iterator'] != null
- )
- return Array.from(iter)
- }
- function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) return _arrayLikeToArray(arr)
- }
- function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length) len = arr.length
- for (var i = 0, arr2 = new Array(len); i < len; i++) {
- arr2[i] = arr[i]
- }
- return arr2
- }
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
- try {
- var info = gen[key](arg)
- var value = info.value
- } catch (error) {
- reject(error)
- return
- }
- if (info.done) {
- resolve(value)
- } else {
- Promise.resolve(value).then(_next, _throw)
- }
- }
- function _asyncToGenerator(fn) {
- return function () {
- var self = this,
- args = arguments
- return new Promise(function (resolve, reject) {
- var gen = fn.apply(self, args)
- function _next(value) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, 'next', value)
- }
- function _throw(err) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, 'throw', err)
- }
- _next(undefined)
- })
- }
- }
- var __vite_style__ = document.createElement('style')
- __vite_style__.innerHTML =
- '._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'
- document.head.appendChild(__vite_style__)
- System.register(
- [
- './index-legacy.48bd16d8.js',
- './index-legacy.595c24c3.js',
- './vendor-legacy.09f20d09.js',
- './index-legacy.f25f109a7.js',
- './index-legacy.f25f109a.js',
- './index-legacy.f25f109a5.js',
- './index-legacy.637f35565.js',
- './index-legacy.f25f109a14.js',
- './index-legacy.f25f109a12.js',
- './index-legacy.f25f109a10.js',
- './icon_tips-legacy.b7861467.js',
- './index-legacy.535e160e.js',
- './index-legacy.fa4145a4.js',
- './index-legacy.f72eae88.js',
- './index-legacy.f25f109a13.js',
- './index-legacy.f25f109a3.js',
- './index-legacy.88d15645.js',
- './index-legacy.f25f109a2.js',
- './checkbox_default-legacy.88950e5d.js'
- ],
- function (exports) {
- 'use strict'
- var Calendar,
- ColResult,
- request,
- state,
- getWeekCh,
- defineComponent,
- Toast,
- createVNode,
- createTextVNode,
- CheckboxGroup,
- Fragment,
- Image,
- Loading,
- Checkbox,
- Icon,
- RadioGroup,
- Radio,
- Sticky,
- Button,
- ref,
- reactive,
- onMounted,
- src,
- Popup,
- computed,
- Form,
- Field,
- mergeProps,
- Cell,
- Tag,
- Stepper,
- ActionSheet,
- dayjs,
- watch,
- useRouter,
- Dialog,
- nextTick,
- iconTips,
- ColPopup,
- ColHeader,
- ColSearch,
- Student,
- checkBoxActive,
- checkBoxDefault
- return {
- setters: [
- function (module) {
- Calendar = module.C
- },
- function (module) {
- ColResult = module.C
- request = module.r
- state = module.s
- getWeekCh = module.m
- },
- function (module) {
- defineComponent = module.d
- Toast = module.T
- createVNode = module.a
- createTextVNode = module.j
- CheckboxGroup = module.a4
- Fragment = module.F
- Image = module.I
- Loading = module.L
- Checkbox = module.a5
- Icon = module.K
- RadioGroup = module.ac
- Radio = module.ad
- Sticky = module.S
- Button = module.B
- ref = module.l
- reactive = module.h
- onMounted = module.m
- src = module.s
- Popup = module.P
- computed = module.p
- Form = module.aa
- Field = module.G
- mergeProps = module.a6
- Cell = module.C
- Tag = module.U
- Stepper = module.Y
- ActionSheet = module.N
- dayjs = module.g
- watch = module._
- useRouter = module.k
- Dialog = module.D
- nextTick = module.q
- },
- function () {},
- function () {},
- function () {},
- function () {},
- function () {},
- function () {},
- function () {},
- function (module) {
- iconTips = module.i
- },
- function (module) {
- ColPopup = module.C
- },
- function (module) {
- ColHeader = module.C
- },
- function (module) {
- ColSearch = module.C
- },
- function () {},
- function () {},
- function (module) {
- Student = module.S
- },
- function () {},
- function (module) {
- checkBoxActive = module.c
- checkBoxDefault = module.a
- }
- ],
- execute: function execute() {
- var _Object$freeze
- var container$1 = '_container_5bgh5_1'
- var tips = '_tips_5bgh5_13'
- var icon = '_icon_5bgh5_20'
- var tipsContent = '_tipsContent_5bgh5_25'
- var week = '_week_5bgh5_30'
- var holdays = '_holdays_5bgh5_57'
- var coursePopup$1 = '_coursePopup_5bgh5_83'
- var tags = '_tags_5bgh5_89'
- var pickerTitle = '_pickerTitle_5bgh5_106'
- var student = '_student_5bgh5_113'
- var styles$4 = {
- container: container$1,
- tips: tips,
- icon: icon,
- tipsContent: tipsContent,
- week: week,
- holdays: holdays,
- coursePopup: coursePopup$1,
- tags: tags,
- pickerTitle: pickerTitle,
- student: student
- }
- var container = '_container_1df8b_1'
- var label = '_label_1df8b_7'
- var btnGroup = '_btnGroup_1df8b_19'
- var check = '_check_1df8b_31'
- var styles$3 = {
- container: container,
- label: label,
- btnGroup: btnGroup,
- check: check
- }
- var subjects = '_subjects_1uhdv_1'
- var subjectContainer = '_subjectContainer_1uhdv_1'
- var title$1 = '_title_1uhdv_5'
- var topBg = '_topBg_1uhdv_37'
- var checkbox = '_checkbox_1uhdv_45'
- var name = '_name_1uhdv_50'
- var btns = '_btns_1uhdv_73'
- var filterTitle = '_filterTitle_1uhdv_80'
- var styles$2 = {
- subjects: subjects,
- subjectContainer: subjectContainer,
- title: title$1,
- 'subject-list': '_subject-list_1uhdv_21',
- 'subject-item': '_subject-item_1uhdv_27',
- topBg: topBg,
- checkbox: checkbox,
- name: name,
- btns: btns,
- filterTitle: filterTitle
- }
- var Voice = defineComponent({
- name: 'SubjectList',
- props: {
- onChoice: { type: Function, default: function _default(item) {} },
- choiceSubjectIds: { type: Array, default: [] },
- subjectList: { type: Array, default: [] },
- max: {
- // 最多可选数量
- type: Number,
- default: 5
- },
- selectType: {
- // 选择类型,Radio:单选,Checkbox:多选
- type: String,
- default: 'Checkbox'
- },
- single: {
- // 单选模式
- type: Boolean,
- default: false
- }
- },
- data: function data() {
- return {
- checkBox: [],
- checkboxRefs: [],
- radio: null // 单选
- }
- },
- mounted: function mounted() {
- var _this = this
- return _asyncToGenerator(
- /*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
- return regeneratorRuntime.wrap(function _callee$(_context) {
- while (1) {
- switch ((_context.prev = _context.next)) {
- case 0:
- _this.checkBox = _this.choiceSubjectIds
- case 1:
- case 'end':
- return _context.stop()
- }
- }
- }, _callee)
- })
- )()
- },
- watch: {
- choiceSubjectIds: function choiceSubjectIds(val, oldVal) {
- // 同步更新显示数据
- this.checkBox = _toConsumableArray(val)
- }
- },
- methods: {
- onSelect: function onSelect(id) {
- if (this.selectType === 'Checkbox') {
- if (
- this.max === this.checkBox.length &&
- !this.checkBox.includes(id)
- ) {
- Toast(
- '\u4E50\u5668\u6700\u591A\u9009\u62E9'.concat(
- this.max,
- '\u4E2A'
- )
- )
- }
- this.checkboxRefs[id].toggle()
- } else if (this.selectType === 'Radio') {
- this.radio = id
- }
- }
- },
- render: function render() {
- var _this2 = this
- return createVNode('div', { class: styles$2.subjects }, [
- createVNode('div', { class: styles$2.filterTitle }, [
- createTextVNode('\u5168\u90E8\u58F0\u90E8')
- ]),
- createVNode('div', { class: styles$2.subjectContainer }, [
- this.subjectList.length
- ? this.selectType === 'Checkbox'
- ? createVNode(
- CheckboxGroup,
- {
- modelValue: this.checkBox,
- 'onUpdate:modelValue': function onUpdateModelValue(
- $event
- ) {
- return (_this2.checkBox = $event)
- },
- max: this.max
- },
- {
- default: function _default() {
- return [
- !_this2.single &&
- _this2.subjectList.map(function (item) {
- return item.subjects &&
- item.subjects.length > 0
- ? createVNode(Fragment, null, [
- createVNode(
- 'div',
- { class: styles$2.title },
- [item.name]
- ),
- createVNode(
- 'div',
- { class: styles$2['subject-list'] },
- [
- item.subjects &&
- item.subjects.map(function (
- sub
- ) {
- return createVNode(
- 'div',
- {
- class:
- styles$2[
- 'subject-item'
- ],
- onClick:
- function onClick() {
- return _this2.onSelect(
- sub.id
- )
- }
- },
- [
- createVNode(
- Image,
- {
- src: sub.img || 'xxx',
- width: '100%',
- height: '100%',
- fit: 'cover'
- },
- {
- loading:
- function loading() {
- return createVNode(
- Loading,
- {
- type: 'spinner',
- size: 20
- },
- null
- )
- }
- }
- ),
- createVNode(
- 'div',
- {
- class: styles$2.topBg
- },
- [
- createVNode(
- Checkbox,
- {
- name: sub.id,
- class:
- styles$2.checkbox,
- disabled: true,
- ref: function ref(
- el
- ) {
- return (_this2.checkboxRefs[
- sub.id
- ] = el)
- }
- },
- {
- icon: function icon(
- props
- ) {
- return createVNode(
- Icon,
- {
- name: props.checked
- ? checkBoxActive
- : checkBoxDefault,
- size: '20'
- },
- null
- )
- }
- }
- ),
- createVNode(
- 'p',
- {
- class:
- styles$2.name
- },
- [sub.name]
- )
- ]
- )
- ]
- )
- })
- ]
- )
- ])
- : null
- }),
- _this2.single
- ? createVNode(
- 'div',
- { class: styles$2['subject-list'] },
- [
- _this2.subjectList.map(function (item) {
- return createVNode(
- 'div',
- {
- class: styles$2['subject-item'],
- onClick: function onClick() {
- return _this2.onSelect(item.id)
- }
- },
- [
- createVNode(
- Image,
- {
- src: item.img || 'xxx',
- width: '100%',
- height: '100%',
- fit: 'cover'
- },
- {
- loading: function loading() {
- return createVNode(
- Loading,
- {
- type: 'spinner',
- size: 20
- },
- null
- )
- }
- }
- ),
- createVNode(
- 'div',
- { class: styles$2.topBg },
- [
- createVNode(
- Checkbox,
- {
- name: item.id,
- class: styles$2.checkbox,
- disabled: true,
- ref: function ref(el) {
- return (_this2.checkboxRefs[
- item.id
- ] = el)
- }
- },
- {
- icon: function icon(
- props
- ) {
- return createVNode(
- Icon,
- {
- name: props.checked
- ? checkBoxActive
- : checkBoxDefault,
- size: '20'
- },
- null
- )
- }
- }
- ),
- createVNode(
- 'p',
- { class: styles$2.name },
- [item.name]
- )
- ]
- )
- ]
- )
- })
- ]
- )
- : null
- ]
- }
- }
- )
- : createVNode(
- RadioGroup,
- {
- modelValue: this.radio,
- 'onUpdate:modelValue': function onUpdateModelValue(
- $event
- ) {
- return (_this2.radio = $event)
- }
- },
- {
- default: function _default() {
- return [
- !_this2.single &&
- _this2.subjectList.map(function (item) {
- return item.subjects &&
- item.subjects.length > 0
- ? createVNode(Fragment, null, [
- createVNode(
- 'div',
- { class: styles$2.title },
- [item.name]
- ),
- createVNode(
- 'div',
- { class: styles$2['subject-list'] },
- [
- item.subjects &&
- item.subjects.map(function (
- sub
- ) {
- return createVNode(
- 'div',
- {
- class:
- styles$2[
- 'subject-item'
- ],
- onClick:
- function onClick() {
- return _this2.onSelect(
- sub.id
- )
- }
- },
- [
- createVNode(
- Image,
- {
- src: sub.img || 'xxx',
- width: '100%',
- height: '100%',
- fit: 'cover'
- },
- {
- loading:
- function loading() {
- return createVNode(
- Loading,
- {
- type: 'spinner',
- size: 20
- },
- null
- )
- }
- }
- ),
- createVNode(
- 'div',
- {
- class: styles$2.topBg
- },
- [
- createVNode(
- Radio,
- {
- name: sub.id,
- class:
- styles$2.checkbox
- },
- {
- icon: function icon(
- props
- ) {
- return createVNode(
- Icon,
- {
- name: props.checked
- ? checkBoxActive
- : checkBoxDefault,
- size: '20'
- },
- null
- )
- }
- }
- ),
- createVNode(
- 'p',
- {
- class:
- styles$2.name
- },
- [sub.name]
- )
- ]
- )
- ]
- )
- })
- ]
- )
- ])
- : null
- }),
- _this2.single
- ? createVNode(
- 'div',
- { class: styles$2['subject-list'] },
- [
- _this2.subjectList.map(function (item) {
- return createVNode(
- 'div',
- {
- class: styles$2['subject-item'],
- onClick: function onClick() {
- return _this2.onSelect(item.id)
- }
- },
- [
- createVNode(
- Image,
- {
- src: item.img || 'xxx',
- width: '100%',
- height: '100%',
- fit: 'cover'
- },
- {
- loading: function loading() {
- return createVNode(
- Loading,
- {
- type: 'spinner',
- size: 20
- },
- null
- )
- }
- }
- ),
- createVNode(
- 'div',
- { class: styles$2.topBg },
- [
- createVNode(
- Radio,
- {
- name: item.id,
- class: styles$2.checkbox
- },
- {
- icon: function icon(
- props
- ) {
- return createVNode(
- Icon,
- {
- name: props.checked
- ? checkBoxActive
- : checkBoxDefault,
- size: '20'
- },
- null
- )
- }
- }
- ),
- createVNode(
- 'p',
- { class: styles$2.name },
- [item.name]
- )
- ]
- )
- ]
- )
- })
- ]
- )
- : null
- ]
- }
- }
- )
- : createVNode(
- ColResult,
- { tips: '暂无声部数据', btnStatus: false },
- null
- )
- ]),
- this.subjectList.length > 0 &&
- createVNode(
- Sticky,
- { offsetBottom: 0, position: 'bottom' },
- {
- default: function _default() {
- return [
- createVNode(
- 'div',
- { class: ['btnGroup', styles$2.btns] },
- [
- createVNode(
- Button,
- {
- round: true,
- block: true,
- onClick: function onClick() {
- _this2.checkBox = []
- _this2.radio = ''
- _this2.onChoice()
- }
- },
- {
- default: function _default() {
- return [createTextVNode('\u91CD\u7F6E')]
- }
- }
- ),
- createVNode(
- Button,
- {
- round: true,
- block: true,
- type: 'primary',
- onClick: function onClick() {
- return _this2.onChoice(
- _this2.selectType === 'Checkbox'
- ? _this2.checkBox
- : _this2.radio
- )
- }
- },
- {
- default: function _default() {
- return [createTextVNode('\u786E\u5B9A')]
- }
- }
- )
- ]
- )
- ]
- }
- }
- )
- ])
- }
- })
- var SelectStudents = defineComponent({
- name: 'SelectStudents',
- props: {
- subjectList: { type: Array, default: [] },
- onSetStudents: {
- type: Function,
- default: function _default(n) {}
- }
- },
- setup: function setup(props, _ref) {
- var expose = _ref.expose
- var show = ref(false)
- var subjectName = ref('全部声部')
- var params = reactive({
- courseId: undefined, //课程id
- subjectId: undefined, // 声部ID
- userName: undefined // 学员姓名
- })
- var list = ref([])
- var getList = /*#__PURE__*/ (function () {
- var _ref2 = _asyncToGenerator(
- /*#__PURE__*/ regeneratorRuntime.mark(function _callee2() {
- var _yield$request$post, code, data
- return regeneratorRuntime.wrap(
- function _callee2$(_context2) {
- while (1) {
- switch ((_context2.prev = _context2.next)) {
- case 0:
- _context2.prev = 0
- _context2.next = 3
- return request.post(
- '/api-teacher/courseSchedule/selectStudent',
- { data: _objectSpread({}, params) }
- )
- case 3:
- _yield$request$post = _context2.sent
- code = _yield$request$post.code
- data = _yield$request$post.data
- if (code === 200) {
- data.rows.forEach(function (n) {
- return (n.checked = false)
- })
- list.value = data.rows
- }
- _context2.next = 11
- break
- case 9:
- _context2.prev = 9
- _context2.t0 = _context2['catch'](0)
- case 11:
- case 'end':
- return _context2.stop()
- }
- }
- },
- _callee2,
- null,
- [[0, 9]]
- )
- })
- )
- return function getList() {
- return _ref2.apply(this, arguments)
- }
- })()
- onMounted(function () {
- getList()
- })
- var onSearch = function onSearch(val) {
- params.userName = val || ''
- getList()
- }
- var toggle = function toggle(n) {
- var selectList = list.value.filter(function (n) {
- return n.checked
- })
- if (selectList.length === 7 && !n.checked) {
- Toast('最多选择7个学员')
- return
- }
- n.checked = !n.checked
- }
- var onDelete = function onDelete(n) {
- list.value.forEach(function (item) {
- if (item.userId === n.userId) item.checked = false
- })
- }
- expose({ onDelete: onDelete })
- return function () {
- return createVNode('div', { class: styles$3.container }, [
- createVNode(
- Sticky,
- { offsetTop: 0 },
- {
- default: function _default() {
- return [
- createVNode(ColHeader, { title: '选择学员' }, null),
- createVNode(
- ColSearch,
- {
- placeholder: '请输入学员名称',
- onSearch: onSearch
- },
- {
- left: function left() {
- return createVNode(
- 'div',
- {
- class: styles$3.label,
- onClick: function onClick() {
- show.value = true
- }
- },
- [
- subjectName.value,
- createVNode(
- Icon,
- {
- classPrefix: 'iconfont',
- name: 'down',
- size: 12,
- color: '#333'
- },
- null
- )
- ]
- )
- }
- }
- )
- ]
- }
- }
- ),
- list.value.map(function (n) {
- return createVNode(
- 'div',
- {
- onClick: function onClick() {
- toggle(n)
- }
- },
- [
- createVNode(
- Student,
- { item: n },
- {
- default: function _default() {
- return [
- createVNode('div', { class: styles$3.check }, [
- createVNode(
- Checkbox,
- { modelValue: n.checked, name: n.userId },
- null
- )
- ])
- ]
- }
- }
- )
- ]
- )
- }),
- createVNode('div', { class: styles$3.btnGroup }, [
- createVNode(
- Button,
- {
- block: true,
- round: true,
- class: styles$3.confirmBtn,
- type: 'primary',
- onClick: function onClick() {
- var stus = src(
- list.value.filter(function (n) {
- return n.checked
- })
- ) // console.log(stus)
- props.onSetStudents && props.onSetStudents(stus)
- }
- },
- {
- default: function _default() {
- return [createTextVNode('\u786E\u8BA4')]
- }
- }
- )
- ]),
- createVNode(
- Popup,
- {
- show: show.value,
- 'onUpdate:show': function onUpdateShow($event) {
- return (show.value = $event)
- },
- position: 'bottom',
- round: true,
- closeable: true,
- 'safe-area-inset-bottom': true
- },
- {
- default: function _default() {
- return [
- createVNode(
- Voice,
- {
- class: styles$3.voicePopupContent,
- single: true,
- selectType: 'Radio',
- subjectList: props.subjectList,
- onChoice: function onChoice(val) {
- var voice = props.subjectList.filter(function (
- n
- ) {
- return n.id === val
- })[0] || { name: '全部声部' }
- params.subjectId = voice.id
- subjectName.value = voice.name
- show.value = false
- getList()
- }
- },
- null
- )
- ]
- }
- }
- )
- ])
- }
- }
- })
- var fieldProps = {
- 'is-link': true,
- readonly: true,
- 'arrow-direction': 'down'
- }
- var init = function init() {
- return reactive({
- courseName: '', // 课程名称
- classNum: 1, // 课时数
- singleClassTime: '', //单课时长
- freeCourseMinutes: '', // 休息时间
- studentIds: [], //学员id集合
- subjectId: 0,
- subjectName: '',
- week: '', // 周几
- isSkipHolidays: true,
- startTime: '',
- endTime: ''
- })
- }
- var params
- var ClassInfo = exports(
- 'C',
- defineComponent({
- name: 'ClassArrangement',
- props: {
- onSubmit: { type: Function, default: function _default() {} }
- },
- setup: function setup(props) {
- var selectStudentShow = ref(false)
- params = init() // 设置学员
- var studentRef = ref('')
- var students = ref([])
- var onSetStudents = function onSetStudents(result) {
- students.value = result
- params.studentIds = students.value
- selectStudentShow.value = false
- }
- var onDeleteStudent = function onDeleteStudent(index) {
- var n = students.value.splice(index, 1)[0]
- studentRef === null || studentRef === void 0
- ? void 0
- : studentRef.value.onDelete(n)
- } // 训练声部
- var voiceShow = ref(false)
- var subjectList = ref([]) // 声部分类
- var getSubjectSelect = /*#__PURE__*/ (function () {
- var _ref3 = _asyncToGenerator(
- /*#__PURE__*/ regeneratorRuntime.mark(function _callee3() {
- var teachRes
- return regeneratorRuntime.wrap(
- function _callee3$(_context3) {
- while (1) {
- switch ((_context3.prev = _context3.next)) {
- case 0:
- _context3.prev = 0
- _context3.next = 3
- return request.post(
- '/api-teacher/teacher/querySubject'
- )
- case 3:
- teachRes = _context3.sent
- subjectList.value = teachRes.data || []
- _context3.next = 9
- break
- case 7:
- _context3.prev = 7
- _context3.t0 = _context3['catch'](0)
- case 9:
- case 'end':
- return _context3.stop()
- }
- }
- },
- _callee3,
- null,
- [[0, 7]]
- )
- })
- )
- return function getSubjectSelect() {
- return _ref3.apply(this, arguments)
- }
- })()
- onMounted(function () {
- getSubjectSelect()
- }) //上课时间
- var classTime = ref([])
- var classTimeShow = ref(false)
- var getClassTime = /*#__PURE__*/ (function () {
- var _ref4 = _asyncToGenerator(
- /*#__PURE__*/ regeneratorRuntime.mark(function _callee4() {
- var res, i, len, paramValue
- return regeneratorRuntime.wrap(
- function _callee4$(_context4) {
- while (1) {
- switch ((_context4.prev = _context4.next)) {
- case 0:
- _context4.prev = 0
- _context4.next = 3
- return request.get(
- '/api-teacher/sysConfig/queryByParamNameList',
- {
- params: {
- paramNames:
- 'course_start_setting,course_end_setting,piano_time_setting'
- }
- }
- )
- case 3:
- res = _context4.sent
- if (res.code === 200) {
- for (
- i = 0, len = res.data.length;
- i < len;
- i++
- ) {
- if (
- res.data[i].paramName ===
- 'course_start_setting'
- ) {
- params.startTime = res.data[i].paramValue
- }
- if (
- res.data[i].paramName ===
- 'course_end_setting'
- ) {
- params.endTime = res.data[i].paramValue
- }
- if (
- res.data[i].paramName ===
- 'course_start_setting'
- ) {
- params.startTime = res.data[i].paramValue
- }
- if (
- res.data[i].paramName ===
- 'piano_time_setting'
- ) {
- paramValue = []
- try {
- paramValue = JSON.parse(
- res.data[i].paramValue
- )
- } catch (error) {}
- classTime.value = paramValue
- }
- }
- }
- _context4.next = 9
- break
- case 7:
- _context4.prev = 7
- _context4.t0 = _context4['catch'](0)
- case 9:
- case 'end':
- return _context4.stop()
- }
- }
- },
- _callee4,
- null,
- [[0, 7]]
- )
- })
- )
- return function getClassTime() {
- return _ref4.apply(this, arguments)
- }
- })()
- var actions = computed(function () {
- var list = []
- classTime.value.forEach(function (n) {
- list.push({ name: n.courseMinutes + '分钟' })
- })
- return list
- })
- onMounted(function () {
- getClassTime()
- }) // 节假日
- ref('')
- return function () {
- return createVNode(Fragment, null, [
- createVNode(
- Form,
- {
- scrollToError: true,
- onSubmit: function onSubmit() {
- if (props.onSubmit) {
- props.onSubmit(params)
- }
- }
- },
- {
- default: function _default() {
- return [
- createVNode('div', { class: styles$4.container }, [
- createVNode(
- Field,
- {
- label: '课程名称',
- placeholder: '请输入课程名称',
- maxlength: 20,
- name: 'courseName',
- modelValue: params.courseName,
- 'onUpdate:modelValue':
- function onUpdateModelValue($event) {
- return (params.courseName = $event)
- },
- rules: [
- {
- required: true,
- message: '请输入您的课程名称'
- }
- ]
- },
- null
- ),
- createVNode(
- Field,
- mergeProps(
- {
- label: '训练声部',
- placeholder: '请选择训练声部'
- },
- fieldProps,
- {
- name: 'subjectName',
- modelValue: params.subjectName,
- onClick: function onClick() {
- return (voiceShow.value = true)
- },
- rules: [
- {
- required: true,
- message: '请选择训练声部'
- }
- ]
- }
- ),
- null
- ),
- createVNode(
- Cell,
- { style: { padding: 0 } },
- {
- default: function _default() {
- return [
- createVNode(
- Field,
- mergeProps(
- {
- name: 'students',
- class: styles$4.student,
- border: false,
- label: '上课学员',
- placeholder: '请选择上课学员',
- modelValue: students.value.length
- },
- fieldProps,
- {
- onClick: function onClick() {
- return (selectStudentShow.value = true)
- },
- rules: [
- {
- required: true,
- validator:
- function validator() {
- return students.value.length
- ? true
- : false
- },
- message: '请选择上课学员'
- }
- ]
- }
- ),
- null
- ),
- students.value.length
- ? createVNode(
- 'div',
- { class: styles$4.tags },
- [
- students.value.map(function (
- n,
- index
- ) {
- return createVNode(
- Tag,
- {
- closeable: true,
- onClose:
- function onClose() {
- return onDeleteStudent(
- index
- )
- }
- },
- {
- default:
- function _default() {
- return [n.userName]
- }
- }
- )
- })
- ]
- )
- : null
- ]
- }
- }
- ),
- createVNode(
- Field,
- {
- label: '课时数',
- placeholder: '请输入课时数'
- },
- {
- input: function input() {
- return createVNode(
- Stepper,
- {
- 'disable-input': true,
- modelValue: params.classNum,
- 'onUpdate:modelValue':
- function onUpdateModelValue($event) {
- return (params.classNum = $event)
- }
- },
- null
- )
- }
- }
- ),
- createVNode(
- Field,
- mergeProps(
- {
- class: styles$4.singleClassTime,
- label: '单课时时长'
- },
- fieldProps,
- {
- modelValue: params.singleClassTime,
- onClick: function onClick() {
- return (classTimeShow.value = true)
- },
- rules: [
- {
- required: true,
- message: '请选择单课时时长'
- }
- ]
- }
- ),
- null
- ),
- createVNode(
- Cell,
- { title: '是否跳过节假日' },
- {
- value: function value() {
- return createVNode(
- RadioGroup,
- {
- class: styles$4.holdays,
- modelValue: params.isSkipHolidays,
- 'onUpdate:modelValue':
- function onUpdateModelValue($event) {
- return (params.isSkipHolidays =
- $event)
- }
- },
- {
- default: function _default() {
- return [
- createVNode(
- Radio,
- {
- name: true,
- style: { marginRight: '10px' }
- },
- {
- default: function _default() {
- return [
- createTextVNode('\u662F')
- ]
- }
- }
- ),
- createVNode(
- Radio,
- { name: false },
- {
- default: function _default() {
- return [
- createTextVNode('\u5426')
- ]
- }
- }
- )
- ]
- }
- }
- )
- }
- }
- ),
- createVNode(Cell, null, {
- title: function title() {
- return createVNode(
- 'div',
- { class: styles$4.tips },
- [
- createVNode(
- 'img',
- { class: styles$4.icon, src: iconTips },
- null
- ),
- createVNode('span', null, [
- createTextVNode(
- '\u6E29\u99A8\u63D0\u9192'
- )
- ])
- ]
- )
- },
- label: function label() {
- return createVNode(
- 'div',
- { class: styles$4.tipsContent },
- [
- createTextVNode(
- '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'
- ),
- createVNode('br', null, null),
- createVNode('br', null, null),
- createTextVNode(
- '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'
- ),
- createVNode('br', null, null),
- createVNode('br', null, null),
- createTextVNode(
- '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'
- ),
- createVNode('br', null, null),
- createVNode('br', null, null),
- createTextVNode(
- '4\u3001\u8BFE\u7A0B\u7ED3\u675F\u540E\u8D39\u7528\u7ACB\u5373\u7ED3\u7B97\uFF1B'
- ),
- createVNode('br', null, null),
- createVNode('br', null, null),
- createTextVNode(
- '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'
- )
- ]
- )
- }
- }),
- createVNode(
- Button,
- {
- block: true,
- type: 'primary',
- round: true,
- nativeType: 'submit',
- style: {
- margin: '0 auto',
- width: '90%',
- marginTop: '20px'
- }
- },
- {
- default: function _default() {
- return [
- createTextVNode('\u4E0B\u4E00\u6B65')
- ]
- }
- }
- )
- ])
- ]
- }
- }
- ),
- createVNode(
- Popup,
- {
- show: voiceShow.value,
- 'onUpdate:show': function onUpdateShow($event) {
- return (voiceShow.value = $event)
- },
- position: 'bottom',
- round: true,
- closeable: true,
- 'safe-area-inset-bottom': true,
- class: styles$4.voicePopup
- },
- {
- default: function _default() {
- return [
- createVNode(
- Voice,
- {
- class: styles$4.voicePopupContent,
- single: true,
- selectType: 'Radio',
- subjectList: subjectList.value,
- onChoice: function onChoice(val) {
- var voice = subjectList.value.filter(
- function (n) {
- return n.id === val
- }
- )[0]
- if (voice) {
- params.subjectId = voice.id
- params.subjectName = voice.name
- voiceShow.value = false
- } else {
- params.subjectId = 0
- params.subjectName = ''
- }
- }
- },
- null
- )
- ]
- }
- }
- ),
- createVNode(
- ColPopup,
- {
- modelValue: selectStudentShow.value,
- 'onUpdate:modelValue': function onUpdateModelValue(
- $event
- ) {
- return (selectStudentShow.value = $event)
- }
- },
- {
- default: function _default() {
- return [
- createVNode(
- SelectStudents,
- {
- ref: studentRef,
- subjectList: subjectList.value,
- onSetStudents: onSetStudents
- },
- null
- )
- ]
- }
- }
- ),
- createVNode(
- ActionSheet,
- {
- show: classTimeShow.value,
- 'onUpdate:show': function onUpdateShow($event) {
- return (classTimeShow.value = $event)
- },
- actions: actions.value,
- cancelText: '取消',
- closeOnClickAction: true,
- onSelect: function onSelect(value, index) {
- params.singleClassTime =
- classTime.value[index].courseMinutes
- params.freeCourseMinutes =
- classTime.value[index].freeMinutes
- }
- },
- null
- )
- ])
- }
- }
- })
- )
- var createClass = '_createClass_129c1_1'
- var arrangeCell = '_arrangeCell_129c1_4'
- var rTitle = '_rTitle_129c1_10'
- var rTag = '_rTag_129c1_26'
- var tag = '_tag_129c1_29'
- var selectPopup = '_selectPopup_129c1_33'
- var selectContainer = '_selectContainer_129c1_38'
- var selectPopupContent = '_selectPopupContent_129c1_44'
- var desc = '_desc_129c1_47'
- var times = '_times_129c1_48'
- var selectBtn = '_selectBtn_129c1_59'
- var btn = '_btn_129c1_64'
- var coursePopup = '_coursePopup_129c1_67'
- var styles$1 = {
- createClass: createClass,
- arrangeCell: arrangeCell,
- rTitle: rTitle,
- rTag: rTag,
- tag: tag,
- selectPopup: selectPopup,
- selectContainer: selectContainer,
- selectPopupContent: selectPopupContent,
- desc: desc,
- times: times,
- selectBtn: selectBtn,
- btn: btn,
- coursePopup: coursePopup
- }
- var box = '_box_12gfu_1'
- var wrap = '_wrap_12gfu_5'
- var title = '_title_12gfu_9'
- var leftIcon = '_leftIcon_12gfu_19'
- var stu = '_stu_12gfu_26'
- var timeBox = '_timeBox_12gfu_30'
- var timeTitle = '_timeTitle_12gfu_38'
- var timeItem = '_timeItem_12gfu_42'
- var footer = '_footer_12gfu_46'
- var styles = {
- box: box,
- wrap: wrap,
- title: title,
- leftIcon: leftIcon,
- stu: stu,
- timeBox: timeBox,
- timeTitle: timeTitle,
- timeItem: timeItem,
- footer: footer
- }
- var CourseSchedule = defineComponent({
- name: 'CourseSchedule',
- props: {
- curriculum: { type: Array, default: [] },
- onClose: { type: Function, default: function _default(n) {} },
- onComfirm: { type: Function, default: function _default(n) {} }
- },
- setup: function setup(props) {
- var students = computed(function () {
- var list = params.studentIds.map(function (n) {
- return n.userName
- })
- return list.join('、')
- })
- return function () {
- var n = params.studentIds.length
- return createVNode('div', { class: styles.box }, [
- createVNode('div', { class: styles.title }, [
- createVNode('div', { class: styles.leftIcon }, null),
- createTextVNode('\u8BFE\u7A0B\u9884\u89C8')
- ]),
- createVNode('div', { class: styles.wrap }, [
- createVNode('div', { class: styles.stu }, [
- createVNode('div', null, [
- createTextVNode('\u60A8\u5C06\u4E3A\u5B66\u5458\uFF1A'),
- createVNode(
- 'span',
- { style: { color: 'var(--van-primary)' } },
- [students.value]
- )
- ]),
- createVNode('div', null, [
- createTextVNode('\u6392'),
- createVNode(
- 'span',
- { style: { color: '#FF4E19', margin: '0 10px' } },
- [
- params.classNum,
- createTextVNode('\u8282 '),
- params.singleClassTime,
- createTextVNode('\u5206\u949F')
- ]
- ),
- createTextVNode('\u8BFE\u7A0B')
- ])
- ]),
- createVNode('div', { class: styles.timeBox }, [
- createVNode('div', { class: styles.timeTitle }, [
- createTextVNode('\u4E0A\u8BFE\u65F6\u95F4\uFF1A')
- ]),
- props.curriculum.map(function (item) {
- return createVNode('div', { class: styles.timeItem }, [
- dayjs(item.startTime || new Date()).format(
- 'YYYY-MM-DD'
- ),
- ' ',
- dayjs(item.startTime || new Date()).format('HH:mm'),
- createTextVNode('~'),
- dayjs(item.endTime || new Date()).format('HH:mm')
- ])
- })
- ]),
- createVNode('div', { style: { color: '#999999' } }, [
- createTextVNode(
- '\u4EE5\u4E0A\u8BFE\u7A0B\u9884\u8BA1\u5C06\u6D88\u8017\u7434\u623F\u65F6\u957F'
- ),
- ' ',
- Math.ceil(
- n * params.classNum * parseInt(params.singleClassTime)
- ),
- ' ',
- createTextVNode('\u5206\u949F '),
- createVNode('br', null, null),
- createTextVNode(
- '\u786E\u8BA4\u6392\u8BFE\u540E\u65F6\u957F\u51BB\u7ED3 '
- ),
- createVNode('br', null, null),
- createTextVNode(
- '\u5B9E\u9645\u6D88\u8017\u65F6\u957F\u4EE5\u6263\u51CF\u7ED3\u679C\u4E3A\u51C6 '
- ),
- createVNode('br', null, null)
- ])
- ]),
- createVNode('div', { class: styles.footer }, [
- createVNode(
- Button,
- {
- block: true,
- round: true,
- onClick: function onClick() {
- return props.onClose()
- }
- },
- {
- default: function _default() {
- return [createTextVNode('\u91CD\u65B0\u9009\u62E9')]
- }
- }
- ),
- createVNode(
- Button,
- {
- block: true,
- round: true,
- type: 'primary',
- onClick: function onClick() {
- return props.onComfirm()
- }
- },
- {
- default: function _default() {
- return [createTextVNode('\u786E\u8BA4\u6392\u8BFE')]
- }
- }
- )
- ])
- ])
- }
- }
- })
- var CreateClass = exports(
- 'a',
- defineComponent({
- name: 'createClass',
- props: {
- active: { type: Number, default: 1 },
- onBack: {
- type: Function,
- default: function _default() {
- return function () {}
- }
- }
- },
- setup: function setup(props) {
- watch(
- function () {
- return props.active
- },
- function (val) {
- // console.log(val)
- if (val === 2) {
- getList()
- }
- }
- ) //日期设置
- var data = reactive({ calendarList: {}, selectList: [] })
- var getList = /*#__PURE__*/ (function () {
- var _ref5 = _asyncToGenerator(
- /*#__PURE__*/ regeneratorRuntime.mark(function _callee5(
- date
- ) {
- var tempDate,
- params$1,
- _state$user$data,
- res,
- result,
- tempObj
- return regeneratorRuntime.wrap(
- function _callee5$(_context5) {
- while (1) {
- switch ((_context5.prev = _context5.next)) {
- case 0:
- tempDate =
- date || dayjs().add(1, 'day').toDate()
- params$1 = {
- day: dayjs(tempDate).format('DD'),
- month: dayjs(tempDate).format('MM'),
- year: dayjs(tempDate).format('YYYY')
- }
- _context5.prev = 2
- _context5.next = 5
- return request.post(
- '/api-teacher/courseSchedule/createLiveCourseCalendar',
- {
- data: _objectSpread(
- _objectSpread({}, params$1),
- {},
- {
- singleCourseMinutes:
- params.singleClassTime,
- freeCourseMinutes:
- params.freeCourseMinutes,
- teacherId:
- (_state$user$data =
- state.user.data) === null ||
- _state$user$data === void 0
- ? void 0
- : _state$user$data.userId
- }
- )
- }
- )
- case 5:
- res = _context5.sent
- result = res.data || []
- tempObj = {}
- result.forEach(function (item) {
- tempObj[item.date] = item
- })
- data.calendarList = tempObj
- _context5.next = 14
- break
- case 12:
- _context5.prev = 12
- _context5.t0 = _context5['catch'](2)
- case 14:
- case 'end':
- return _context5.stop()
- }
- }
- },
- _callee5,
- null,
- [[2, 12]]
- )
- })
- )
- return function getList(_x) {
- return _ref5.apply(this, arguments)
- }
- })()
- var onSelectDay = function onSelectDay(res) {
- // 对数组进行排序
- res.sort(function (first, second) {
- if (first.startTime > second.startTime) return 1
- if (first.startTime < second.startTime) return -1
- return 0
- })
- data.selectList = res
- }
- var showSelectList = computed(function () {
- // 显示时间
- var list = _toConsumableArray(data.selectList)
- list.forEach(function (item) {
- item.title =
- dayjs(item.startTime).format('YYYY-MM-DD') +
- ' ' +
- getWeekCh(dayjs(item.startTime).day()) +
- ' ' +
- item.start +
- '~' +
- item.end
- })
- return list
- })
- var selectType = computed(function () {
- // 循环次数是否足够
- return data.selectList.length < params.classNum
- ? 'noEnough'
- : 'enough'
- })
- var onCloseTag = function onCloseTag(item) {
- // 删除课程
- Dialog.confirm({
- title: '提示',
- message: '您是否要删除该选择的课程?',
- confirmButtonColor: 'var(--van-primary)'
- }).then(function () {
- var index = data.selectList.findIndex(function (course) {
- return course.startTime === item.startTime
- })
- data.selectList.splice(index, 1)
- })
- }
- var selectStatus = ref(false)
- var onSubmit = /*#__PURE__*/ (function () {
- var _ref6 = _asyncToGenerator(
- /*#__PURE__*/ regeneratorRuntime.mark(function _callee6() {
- return regeneratorRuntime.wrap(function _callee6$(
- _context6
- ) {
- while (1) {
- switch ((_context6.prev = _context6.next)) {
- case 0:
- if (!(data.selectList.length <= 0)) {
- _context6.next = 3
- break
- }
- Toast('请选择课程时间')
- return _context6.abrupt('return')
- case 3:
- if (!(data.selectList.length < params.classNum)) {
- _context6.next = 6
- break
- }
- selectStatus.value = true
- return _context6.abrupt('return')
- case 6: // await this._lookCourse()
- confirmShow.value = true
- case 7:
- case 'end':
- return _context6.stop()
- }
- }
- },
- _callee6)
- })
- )
- return function onSubmit() {
- return _ref6.apply(this, arguments)
- }
- })()
- var onComfirm = /*#__PURE__*/ (function () {
- var _ref7 = _asyncToGenerator(
- /*#__PURE__*/ regeneratorRuntime.mark(function _callee7() {
- var _state$user$data2, _times, res
- return regeneratorRuntime.wrap(function _callee7$(
- _context7
- ) {
- while (1) {
- switch ((_context7.prev = _context7.next)) {
- case 0:
- if (!(selectType.value === 'noEnough')) {
- _context7.next = 10
- break
- }
- _times = []
- data.selectList.forEach(function (item) {
- _times.push({
- startTime: item.startTime,
- endTime: item.endTime
- })
- })
- console.log(data.selectList)
- _context7.next = 6
- return request.post(
- '/api-teacher/courseGroup/lockCourseToCache',
- {
- data: {
- courseNum: params.classNum,
- courseType: 'PIANO_ROOM_CLASS',
- loop: 1,
- teacherId:
- (_state$user$data2 = state.user.data) ===
- null || _state$user$data2 === void 0
- ? void 0
- : _state$user$data2.userId,
- timeList: [].concat(_times)
- }
- }
- )
- case 6:
- res = _context7.sent
- if (res.code === 200) {
- res.data.forEach(function (n) {
- n.start = dayjs(n.startTime).format('HH:mm')
- n.end = dayjs(n.endTime).format('HH:mm')
- })
- data.selectList = res.data
- }
- _context7.next = 12
- break
- case 10:
- selectStatus.value = false
- nextTick(function () {
- confirmShow.value = true
- })
- case 12:
- case 'end':
- return _context7.stop()
- }
- }
- },
- _callee7)
- })
- )
- return function onComfirm() {
- return _ref7.apply(this, arguments)
- }
- })()
- var router = useRouter()
- var confirmShow = ref(false) // 排课
- var onCourseSchedule = /*#__PURE__*/ (function () {
- var _ref8 = _asyncToGenerator(
- /*#__PURE__*/ regeneratorRuntime.mark(function _callee8() {
- var timeList, n, _yield$request$post2, code, _data
- return regeneratorRuntime.wrap(
- function _callee8$(_context8) {
- while (1) {
- switch ((_context8.prev = _context8.next)) {
- case 0:
- timeList = data.selectList
- n = params.studentIds.length
- _context8.prev = 2
- _context8.next = 5
- return request.post(
- '/api-teacher/courseSchedule/arrangeCourse',
- {
- data: {
- classNum: params.classNum, //课时数
- consumeTime: Math.ceil(
- n *
- params.classNum *
- parseInt(params.singleClassTime)
- ), //消耗时长
- courseName: params.courseName, //课程名称
- singleClssTime: params.singleClassTime, //单课时长
- studentIds: params.studentIds.map(
- function (n) {
- return n.userId
- }
- ), //学员id集合
- subjectId: params.subjectId, //声部id
- timeList: timeList
- }
- }
- )
- case 5:
- _yield$request$post2 = _context8.sent
- code = _yield$request$post2.code
- _data = _yield$request$post2.data
- if (code === 200) {
- confirmShow.value = false
- setTimeout(function () {
- Toast({
- icon: 'success',
- message: '排课成功',
- duration: 1500,
- onClose: function onClose() {
- router.back()
- }
- })
- }, 100)
- }
- _context8.next = 13
- break
- case 11:
- _context8.prev = 11
- _context8.t0 = _context8['catch'](2)
- case 13:
- case 'end':
- return _context8.stop()
- }
- }
- },
- _callee8,
- null,
- [[2, 11]]
- )
- })
- )
- return function onCourseSchedule() {
- return _ref8.apply(this, arguments)
- }
- })()
- return function () {
- return createVNode('div', { class: styles$1.createClass }, [
- props.active === 2 &&
- createVNode(
- Calendar,
- {
- maxDays: params.classNum,
- list: data.calendarList,
- prevMonth: function prevMonth(date) {
- return getList(date)
- },
- nextMonth: function nextMonth(date) {
- return getList(date)
- },
- selectDay: onSelectDay,
- selectList: data.selectList,
- isSkipHolidays: params.isSkipHolidays
- },
- null
- ),
- createVNode(
- Cell,
- { class: [styles$1.arrangeCell, 'mb12'] },
- {
- title: function title() {
- return createVNode(
- 'div',
- { class: styles$1.rTitle },
- [
- createVNode('span', null, [
- createTextVNode(
- '\u5DF2\u9009\u62E9\u8BFE\u7A0B\u65F6\u95F4'
- )
- ])
- ]
- )
- },
- label: function label() {
- return createVNode('div', { class: styles$1.rTag }, [
- showSelectList.value.map(function (item) {
- return createVNode(Fragment, null, [
- createVNode(
- Tag,
- {
- plain: true,
- round: true,
- closeable: true,
- size: 'large',
- type: 'primary',
- class: styles$1.tag,
- onClose: function onClose() {
- return onCloseTag(item)
- }
- },
- {
- default: function _default() {
- return [item.title]
- }
- }
- ),
- createVNode('br', null, null)
- ])
- })
- ])
- }
- }
- ),
- createVNode(
- Sticky,
- { offsetBottom: 0, position: 'bottom' },
- {
- default: function _default() {
- return [
- createVNode(
- 'div',
- { class: ['btnGroup', 'btnMore'] },
- [
- createVNode(
- Button,
- {
- block: true,
- round: true,
- type: 'primary',
- plain: true,
- onClick: function onClick() {
- props.onBack && props.onBack() // 重置选择的课次
- data.selectList = []
- }
- },
- {
- default: function _default() {
- return [
- createTextVNode('\u4E0A\u4E00\u6B65')
- ]
- }
- }
- ),
- createVNode(
- Button,
- {
- block: true,
- round: true,
- type: 'primary',
- onClick: function onClick() {
- return onSubmit()
- }
- },
- {
- default: function _default() {
- return [
- createTextVNode('\u4E0B\u4E00\u6B65')
- ]
- }
- }
- )
- ]
- )
- ]
- }
- }
- ),
- createVNode(
- Popup,
- { show: selectStatus.value, class: styles$1.selectPopup },
- {
- default: function _default() {
- return [
- createVNode(
- 'div',
- { class: styles$1.selectContainer },
- [
- createVNode('div', { class: styles$1.rTitle }, [
- createVNode('span', null, [
- createTextVNode('\u63D0\u793A')
- ])
- ]),
- createVNode(
- 'div',
- { class: styles$1.selectPopupContent },
- [
- createVNode('p', { class: styles$1.desc }, [
- selectType.value === 'noEnough'
- ? '您所选择的上课时间未达到您输入的课时数,系统根据已选时间将自动按周顺延排课。'
- : '您已选择以下上课时间段,时间段会暂时锁定,锁定期间学员不可购买该时间段课程。'
- ]),
- selectType.value === 'enough' &&
- createVNode(
- 'p',
- { class: styles$1.times },
- [
- data.selectList.map(function (item) {
- return createVNode('span', null, [
- dayjs(
- item.startTime || new Date()
- ).format('YYYY-MM-DD'),
- ' ',
- dayjs(
- item.startTime || new Date()
- ).format('HH:mm'),
- createTextVNode('~'),
- dayjs(
- item.endTime || new Date()
- ).format('HH:mm')
- ])
- })
- ]
- )
- ]
- ),
- createVNode(
- 'div',
- { class: styles$1.selectBtn },
- [
- createVNode(
- Button,
- {
- class: styles$1.btn,
- type: 'primary',
- round: true,
- block: true,
- plain: true,
- onClick: function onClick() {
- return (selectStatus.value = false)
- }
- },
- {
- default: function _default() {
- return [
- selectType.value === 'noEnough'
- ? '继续选择'
- : '重新选择'
- ]
- }
- }
- ),
- createVNode(
- Button,
- {
- class: styles$1.btn,
- type: 'primary',
- round: true,
- block: true,
- onClick: function onClick() {
- return onComfirm()
- }
- },
- {
- default: function _default() {
- return [
- createTextVNode('\u786E\u8BA4')
- ]
- }
- }
- )
- ]
- )
- ]
- )
- ]
- }
- }
- ),
- createVNode(
- Popup,
- {
- position: 'bottom',
- class: styles$1.coursePopup,
- show: confirmShow.value,
- 'onUpdate:show': function onUpdateShow($event) {
- return (confirmShow.value = $event)
- },
- closeable: true,
- round: true
- },
- {
- default: function _default() {
- return [
- createVNode(
- CourseSchedule,
- {
- curriculum: data.selectList,
- onClose: function onClose() {
- confirmShow.value = false
- },
- onComfirm: function onComfirm() {
- onCourseSchedule()
- }
- },
- null
- )
- ]
- }
- }
- )
- ])
- }
- }
- })
- )
- var index = /*#__PURE__*/ Object.freeze(
- ((_Object$freeze = { __proto__: null }),
- _defineProperty(_Object$freeze, Symbol.toStringTag, 'Module'),
- _defineProperty(_Object$freeze, 'default', CreateClass),
- _Object$freeze)
- )
- exports('i', index)
- }
- }
- }
- )
- })()
|