;(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) } } } ) })()