;(function () { 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) }) } } 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 } var __vite_style__ = document.createElement('style') __vite_style__.innerHTML = '._select_kcj91_1{padding:0 .32rem;height:.64rem}._tag-list_kcj91_5{margin-top:.32rem}._tag-list_kcj91_5 .van-tag{margin-right:.16rem;margin-bottom:.16rem}._radio-group_kcj91_12,._checkbox-group_kcj91_13{display:flex;flex-wrap:wrap;margin-top:.37333rem}._radio-group_kcj91_12 ._radio_kcj91_12:first-child .van-radio__label,._checkbox-group_kcj91_13 ._radio_kcj91_12:first-child .van-radio__label,._radio-group_kcj91_12 ._checkbox_kcj91_13:first-child .van-checked__label,._checkbox-group_kcj91_13 ._checkbox_kcj91_13:first-child .van-checked__label{margin-left:0}._radio_kcj91_12 .van-radio__icon{display:none}._checkbox-group_kcj91_13{padding-bottom:.32rem}._radio-group_kcj91_12 .van-tag--large{width:2.50667rem;height:.8rem;font-size:.42667rem;text-align:center;display:flex;align-items:center;justify-content:center}._radio-group_kcj91_12 .van-tag{box-sizing:border-box}._radio-group_kcj91_12 .van-tag--default{color:var(--van-tag-text-default-color)}._radio-group_kcj91_12 .van-tag--primary{background-color:var(--tag-bg-color)}._checkbox_kcj91_13{margin-bottom:.13333rem}._checkbox_kcj91_13 .van-checkbox__icon{display:none}._timer_vlxou_1{background:#f6f8f9;min-height:100vh;overflow:hidden;padding:0 .37333rem}._tips_vlxou_7{margin:.32rem 0;padding:.4rem .32rem;background:#ffffff;border-radius:.26667rem}._tips_vlxou_7 ._tipsTitle_vlxou_13{font-size:.48rem;font-weight:500;color:#000;line-height:.66667rem}._tips_vlxou_7 ._tipsTime_vlxou_19{padding-top:.10667rem;font-size:.37333rem;color:#ff9e5a;line-height:.58667rem}._tips_vlxou_7 ._tipsTime_vlxou_19 span{font-weight:600}._timerContainer_vlxou_28{background:#ffffff;border-radius:.26667rem;padding:.37333rem .13333rem .24rem}._timerContainer_vlxou_28 .van-col{margin-bottom:.13333rem}._tag_vlxou_36{height:.74667rem;background:#eff6f5;border-radius:.10667rem;font-size:.37333rem;font-weight:500;color:#01C1B5;display:flex;align-items:center;justify-content:center}._active_vlxou_47{background:#01C1B5;color:#fff}._select_vlxou_51{color:#fff!important;background:#ffb752}\n' document.head.appendChild(__vite_style__) System.register( [ './index-legacy.c1757005.js', './index-legacy.9696b334.js', './index-legacy.535e160e.js', './index-legacy.595c24c3.js', './vendor-legacy.09f20d09.js', './index-legacy.637f35565.js', './index-legacy.f25f109a14.js', './index-legacy.f25f109a10.js', './index-legacy.f25f109a3.js', './index-legacy.f25f109a.js', './index-legacy.f25f109a5.js', './index-legacy.f25f109a7.js', './index-legacy.f25f109a13.js', './toolsValidate-legacy.b90c63da.js', './index-legacy.637f35563.js', './index-legacy.f25f109a2.js', './checkbox_default-legacy.88950e5d.js', './index-legacy.c75fe8a2.js' ], function (exports) { 'use strict' var ColFieldGroup, ColField, SubjectModel, ColPopup, request, postMessage, commonjsGlobal, defineComponent, dayjs, createVNode, createTextVNode, Row, Col, Sticky, Button, Toast, Form, RadioGroup, Radio, Tag, isVNode, CheckboxGroup, Checkbox, Dialog, Field, ActionSheet, verifyNumberIntegerAndFloat return { setters: [ function (module) { ColFieldGroup = module.C ColField = module.a }, function (module) { SubjectModel = module.S }, function (module) { ColPopup = module.C }, function (module) { request = module.r postMessage = module.p }, function (module) { commonjsGlobal = module.a2 defineComponent = module.d dayjs = module.g createVNode = module.a createTextVNode = module.j Row = module.z Col = module.A Sticky = module.S Button = module.B Toast = module.T Form = module.aa RadioGroup = module.ac Radio = module.ad Tag = module.U isVNode = module.x CheckboxGroup = module.a4 Checkbox = module.a5 Dialog = module.D Field = module.G ActionSheet = module.N }, function () {}, function () {}, function () {}, function () {}, function () {}, function () {}, function () {}, function () {}, function (module) { verifyNumberIntegerAndFloat = module.v }, function () {}, function () {}, function () {}, function () {} ], execute: function execute() { var select$1 = '_select_kcj91_1' var radio = '_radio_kcj91_12' var checkbox = '_checkbox_kcj91_13' var styles$1 = { select: select$1, 'tag-list': '_tag-list_kcj91_5', 'radio-group': '_radio-group_kcj91_12', 'checkbox-group': '_checkbox-group_kcj91_13', radio: radio, checkbox: checkbox } var timer = '_timer_vlxou_1' var tips = '_tips_vlxou_7' var tipsTitle = '_tipsTitle_vlxou_13' var tipsTime = '_tipsTime_vlxou_19' var timerContainer = '_timerContainer_vlxou_28' var tag = '_tag_vlxou_36' var active = '_active_vlxou_47' var select = '_select_vlxou_51' var styles = { timer: timer, tips: tips, tipsTitle: tipsTitle, tipsTime: tipsTime, timerContainer: timerContainer, tag: tag, active: active, select: select } var isSameOrBefore$1 = { exports: {} } ;(function (module, exports) { !(function (e, i) { module.exports = i() })(commonjsGlobal, function () { return function (e, i) { i.prototype.isSameOrBefore = function (e, i) { return this.isSame(e, i) || this.isBefore(e, i) } } }) })(isSameOrBefore$1) var isSameOrBefore = isSameOrBefore$1.exports var customParseFormat$1 = { exports: {} } ;(function (module, exports) { !(function (e, t) { module.exports = t() })(commonjsGlobal, function () { var e = { LTS: 'h:mm:ss A', LT: 'h:mm A', L: 'MM/DD/YYYY', LL: 'MMMM D, YYYY', LLL: 'MMMM D, YYYY h:mm A', LLLL: 'dddd, MMMM D, YYYY h:mm A' }, t = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, n = /\d\d/, r = /\d\d?/, i = /\d*[^-_:/,()\s\d]+/, o = {}, s = function s(e) { return (e = +e) + (e > 68 ? 1900 : 2e3) } var a = function a(e) { return function (t) { this[e] = +t } }, f = [ /[+-]\d\d:?(\d\d)?|Z/, function (e) { ;(this.zone || (this.zone = {})).offset = (function (e) { if (!e) return 0 if ('Z' === e) return 0 var t = e.match(/([+-]|\d\d)/g), n = 60 * t[1] + (+t[2] || 0) return 0 === n ? 0 : '+' === t[0] ? -n : n })(e) } ], h = function h(e) { var t = o[e] return t && (t.indexOf ? t : t.s.concat(t.f)) }, u = function u(e, t) { var n, r = o.meridiem if (r) { for (var i = 1; i <= 24; i += 1) { if (e.indexOf(r(i, 0, t)) > -1) { n = i > 12 break } } } else n = e === (t ? 'pm' : 'PM') return n }, d = { A: [ i, function (e) { this.afternoon = u(e, !1) } ], a: [ i, function (e) { this.afternoon = u(e, !0) } ], S: [ /\d/, function (e) { this.milliseconds = 100 * +e } ], SS: [ n, function (e) { this.milliseconds = 10 * +e } ], SSS: [ /\d{3}/, function (e) { this.milliseconds = +e } ], s: [r, a('seconds')], ss: [r, a('seconds')], m: [r, a('minutes')], mm: [r, a('minutes')], H: [r, a('hours')], h: [r, a('hours')], HH: [r, a('hours')], hh: [r, a('hours')], D: [r, a('day')], DD: [n, a('day')], Do: [ i, function (e) { var t = o.ordinal, n = e.match(/\d+/) if (((this.day = n[0]), t)) for (var r = 1; r <= 31; r += 1) { t(r).replace(/\[|\]/g, '') === e && (this.day = r) } } ], M: [r, a('month')], MM: [n, a('month')], MMM: [ i, function (e) { var t = h('months'), n = ( h('monthsShort') || t.map(function (e) { return e.slice(0, 3) }) ).indexOf(e) + 1 if (n < 1) throw new Error() this.month = n % 12 || n } ], MMMM: [ i, function (e) { var t = h('months').indexOf(e) + 1 if (t < 1) throw new Error() this.month = t % 12 || t } ], Y: [/[+-]?\d+/, a('year')], YY: [ n, function (e) { this.year = s(e) } ], YYYY: [/\d{4}/, a('year')], Z: f, ZZ: f } function c(n) { var r, i ;(r = n), (i = o && o.formats) for ( var s = (n = r.replace( /(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (t, n, r) { var o = r && r.toUpperCase() return ( n || i[r] || e[r] || i[o].replace( /(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (e, t, n) { return t || n.slice(1) } ) ) } )).match(t), a = s.length, f = 0; f < a; f += 1 ) { var h = s[f], u = d[h], c = u && u[0], l = u && u[1] s[f] = l ? { regex: c, parser: l } : h.replace(/^\[|\]$/g, '') } return function (e) { for (var t = {}, n = 0, r = 0; n < a; n += 1) { var i = s[n] if ('string' == typeof i) r += i.length else { var o = i.regex, f = i.parser, h = e.slice(r), u = o.exec(h)[0] f.call(t, u), (e = e.replace(u, '')) } } return ( (function (e) { var t = e.afternoon if (void 0 !== t) { var n = e.hours t ? n < 12 && (e.hours += 12) : 12 === n && (e.hours = 0), delete e.afternoon } })(t), t ) } } return function (e, t, n) { ;(n.p.customParseFormat = !0), e && e.parseTwoDigitYear && (s = e.parseTwoDigitYear) var r = t.prototype, i = r.parse r.parse = function (e) { var t = e.date, r = e.utc, s = e.args this.$u = r var a = s[1] if ('string' == typeof a) { var f = !0 === s[2], h = !0 === s[3], u = f || h, d = s[2] h && (d = s[2]), (o = this.$locale()), !f && d && (o = n.Ls[d]), (this.$d = (function (e, t, n) { try { if (['x', 'X'].indexOf(t) > -1) return new Date(('X' === t ? 1e3 : 1) * e) var r = c(t)(e), i = r.year, o = r.month, s = r.day, a = r.hours, f = r.minutes, h = r.seconds, u = r.milliseconds, d = r.zone, l = new Date(), m = s || (i || o ? 1 : l.getDate()), M = i || l.getFullYear(), Y = 0 ;(i && !o) || (Y = o > 0 ? o - 1 : l.getMonth()) var p = a || 0, v = f || 0, D = h || 0, g = u || 0 return d ? new Date( Date.UTC( M, Y, m, p, v, D, g + 60 * d.offset * 1e3 ) ) : n ? new Date(Date.UTC(M, Y, m, p, v, D, g)) : new Date(M, Y, m, p, v, D, g) } catch (e) { return new Date('') } })(t, a, r)), this.init(), d && !0 !== d && (this.$L = this.locale(d).$L), u && t != this.format(a) && (this.$d = new Date('')), (o = {}) } else if (a instanceof Array) for (var l = a.length, m = 1; m <= l; m += 1) { s[1] = a[m - 1] var M = n.apply(this, s) if (M.isValid()) { ;(this.$d = M.$d), (this.$L = M.$L), this.init() break } m === l && (this.$d = new Date('')) } else i.call(this, e) } } }) })(customParseFormat$1) var customParseFormat = customParseFormat$1.exports dayjs.extend(customParseFormat) dayjs.extend(isSameOrBefore) var Timer = defineComponent({ name: 'timer', props: { timerObject: { // 传入的数据 type: Object, default: {} }, onChoice: { // 点击选择时间 type: Function, default: function _default(item) {} }, courseMinutes: { // 课程时长 type: Number, default: 25 }, freeMinutes: { // 空余时长 type: Number, default: 5 }, startSetting: { // 开始设置时间 type: String, default: '08:00' }, endSetting: { // 结束设置时间 type: String, default: '18:00' } }, data: function data() { return { timerList: [], list: [], weekList: [ '周一', '周二', '周三', '周四', '周五', '周六', '周日' ], weekType: [ 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday' ] } }, mounted: function mounted() { this.list = this.timerInit( this.startSetting, this.endSetting, this.courseMinutes + this.freeMinutes || 30 ) console.log(this.endSetting) }, methods: { timerInit: function timerInit(startTime, endTime, space) { var start = dayjs(startTime, 'HH:mm') var end = dayjs(endTime, 'HH:mm') var timerList = [] // 生成一天的时间段 while (start.add(space, 'minute').isSameOrBefore(dayjs(end))) { var item = { startTime: start.format('HH:mm'), endTime: start.add(space, 'minute').format('HH:mm'), status: false } // 一周 timerList.push(item) start = start.add(space, 'minute') } var list = [] // 生成一周的时间段 timerList.forEach(function (item) { var weekList = [] for (var i = 0; i < 7; i++) { weekList.push(_objectSpread({}, item)) } list.push(weekList) }) var tempList = this._initData(list) return tempList }, _initData: function _initData(list) { // 回显数据 var weekType = this.weekType var timerObject = this.timerObject list.forEach(function (item) { item.forEach(function (slot, slotIndex) { var dayList = timerObject[weekType[slotIndex]] var startTime = dayjs(slot.startTime, 'HH:mm').format( 'HH:mm:ss' ) var isExist = dayList === null || dayList === void 0 ? void 0 : dayList.some(function (course) { return course.startTime === startTime }) isExist && (slot.status = true) }) }) return list }, btnStatus: function btnStatus(index, type) { if (type === 'row') { return this.list.every(function (item) { return item[index].status }) } if (type == 'col') { return this.list[index].every(function (item) { return item.status }) } }, choice: function choice(index, type, status) { if (type === 'row') { this.list.forEach(function (item, i) { var type = !status ? true : false item[index].status = type }) } if (type == 'col') { this.list[index].forEach(function (item, i) { var type = !status ? true : false item.status = type }) } }, onSubmit: function onSubmit() { var _this = this var list = this.list var weekList = { monday: [], tuesday: [], wednesday: [], thursday: [], friday: [], saturday: [], sunday: [] } var weekType = this.weekType var status = false list.forEach(function (item, i) { item.forEach(function (times, j) { if (times.status) { status = true weekList[weekType[j]].push({ startTime: dayjs(times.startTime, 'HH:mm').format( 'HH:mm:ss' ), endTime: dayjs(times.endTime, 'HH:mm') .subtract(_this.freeMinutes, 'minute') .format('HH:mm:ss') }) } }) }) this.onChoice && this.onChoice(weekList, status) } }, render: function render() { var _this2 = this return createVNode('div', { class: styles.timer }, [ createVNode('div', { class: styles.tips }, [ createVNode('div', { class: styles.tipsTitle }, [ createTextVNode( '\u8BF7\u9009\u62E9\u966A\u7EC3\u5F00\u59CB\u65F6\u95F4' ) ]), createVNode('div', { class: styles.tipsTime }, [ createTextVNode( '\u966A\u7EC3\u8BFE\u5355\u8BFE\u65F6\u65F6\u957F\u4E3A ' ), createVNode('span', null, [this.courseMinutes]), createTextVNode(' \u5206\u949F') ]) ]), createVNode('div', { class: [styles.timerContainer, 'mb12'] }, [ createVNode( Row, { gutter: 5 }, { default: function _default() { return [ createVNode(Col, { span: 3 }, null), _this2.weekList.map(function (item) { return createVNode( Col, { span: 3 }, { default: function _default() { return [ createVNode('span', { class: styles.tag }, [ item ]) ] } } ) }) ] } } ), createVNode( Row, { gutter: 5 }, { default: function _default() { return [ createVNode(Col, { span: 3 }, null), _this2.weekList.map(function (item, index) { return createVNode( Col, { span: 3 }, { default: function _default() { return [ createVNode( 'span', { class: [ styles.tag, _this2.btnStatus(index, 'row') && styles.active ], onClick: function onClick() { return _this2.choice( index, 'row', _this2.btnStatus(index, 'row') ) }, title: item }, [createTextVNode('\u5168\u9009')] ) ] } } ) }) ] } } ), this.list.map(function (item, index) { return createVNode( Row, { gutter: 5 }, { default: function _default() { return [ createVNode( Col, { span: 3 }, { default: function _default() { return [ createVNode( 'span', { class: [ styles.tag, _this2.btnStatus(index, 'col') && styles.active ], onClick: function onClick() { return _this2.choice( index, 'col', _this2.btnStatus(index, 'col') ) } }, [createTextVNode('\u5168\u9009')] ) ] } } ), item.map(function (week) { return createVNode( Col, { span: 3 }, { default: function _default() { return [ createVNode( 'span', { class: [ styles.tag, week.status && styles.select ], title: week, style: { color: '#333333' }, onClick: function onClick() { return (week.status = !week.status) } }, [week.startTime] ) ] } } ) }) ] } } ) }) ]), createVNode( Sticky, { offsetBottom: 0, position: 'bottom' }, { default: function _default() { return [ createVNode('div', { class: 'btnGroup' }, [ createVNode( Button, { block: true, round: true, type: 'primary', onClick: _this2.onSubmit }, { default: function _default() { return [createTextVNode('\u786E\u5B9A')] } } ) ]) ] } } ) ]) } }) function _isSlot(s) { return ( typeof s === 'function' || (Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s)) ) } var practiceSetting = exports( 'default', defineComponent({ name: 'PracticeSetting', data: function data() { return { subjectList: [], chargeTypeArr: { 0: '否', 1: '是' }, classTimeStatus: false, subjectStatus: false, timerStatus: false, timeSetting: { courseMinutes: 25, freeMinutes: 5, startSetting: '08:00', endSetting: '18:00' }, timerObject: {}, form: { enableFlag: 1, courseMinutes: null, freeMinutes: 0, subjectIdTemp: '', subjectId: [], subjectPrice: [], skipHolidayFlag: 1, setting: '' }, minutes: [], rate: 0 } }, computed: { choiceSubjectId: function choiceSubjectId() { var form = this.form var ids = form.subjectIdTemp ? form.subjectIdTemp.split(',') : [] return ( ids.map(function (item) { return Number(item) }) || [] ) } }, mounted: function mounted() { var _this3 = this return _asyncToGenerator( /*#__PURE__*/ regeneratorRuntime.mark(function _callee() { var config, configData, teacher, setting, sr, tempIds, tempPrices, subjectPrice, to return regeneratorRuntime.wrap( function _callee$(_context) { while (1) { switch ((_context.prev = _context.next)) { case 0: _context.prev = 0 _context.next = 3 return request.get( '/api-teacher/sysConfig/queryByParamNameList', { params: { paramNames: 'practice_times_setting,practice_service_fee,course_start_setting,course_end_setting' } } ) case 3: config = _context.sent configData = config.data || [] configData.forEach(function (item) { if ( item.paramName === 'practice_times_setting' ) { var mins = item.paramValue ? JSON.parse(item.paramValue) : [] var tempArr = [] mins.forEach(function (item) { tempArr.push( _objectSpread( _objectSpread({}, item), {}, { name: item.courseMinutes } ) ) }) _this3.minutes = [].concat(tempArr) } if (item.paramName === 'practice_service_fee') { _this3.rate = item.paramValue } if (item.paramName === 'course_start_setting') { _this3.timeSetting.startSetting = item.paramValue } if (item.paramName === 'course_end_setting') { _this3.timeSetting.endSetting = item.paramValue } }) // _context.next = 8 return request.post( '/api-teacher/teacher/querySubject' ) case 8: teacher = _context.sent _this3.subjectList = teacher.data || [] // 获取课程设置 _context.next = 12 return request.post( '/api-teacher/teacherFreeTime/getDetail', { data: { defaultFlag: 1 } } ) case 12: setting = _context.sent sr = setting.data if (sr) { _this3.timeSetting.courseMinutes = sr.courseMinutes _this3.timeSetting.freeMinutes = sr.freeMinutes _this3.timerObject = { monday: sr.monday ? JSON.parse(sr.monday) : [], tuesday: sr.tuesday ? JSON.parse(sr.tuesday) : [], wednesday: sr.wednesday ? JSON.parse(sr.wednesday) : [], thursday: sr.thursday ? JSON.parse(sr.thursday) : [], friday: sr.friday ? JSON.parse(sr.friday) : [], saturday: sr.saturday ? JSON.parse(sr.saturday) : [], sunday: sr.sunday ? JSON.parse(sr.sunday) : [] } tempIds = [] tempPrices = [] subjectPrice = sr.subjectPrice || [] subjectPrice.forEach(function (item) { tempIds.push(item.subjectId) tempPrices.push({ subjectId: item.subjectId, subjectPrice: item.subjectPrice, subjectName: item.subjectName }) }) to = _this3.timerObject _this3.form = { enableFlag: sr.enableFlag, courseMinutes: sr.courseMinutes, freeMinutes: sr.freeMinutes, subjectIdTemp: tempIds.join(','), subjectId: tempIds, subjectPrice: tempPrices, skipHolidayFlag: sr.skipHolidayFlag, setting: to.monday.length > 0 || to.tuesday.length > 0 || to.wednesday.length > 0 || to.thursday.length > 0 || to.friday.length > 0 || to.saturday.length > 0 || to.sunday.length > 0 ? '已设置' : '' } } _context.next = 19 break case 17: _context.prev = 17 _context.t0 = _context['catch'](0) case 19: case 'end': return _context.stop() } } }, _callee, null, [[0, 17]] ) }) )() }, methods: { onSelect: function onSelect(item) { // 如果分钟数不同,则清空 if (this.form.courseMinutes !== item.courseMinutes) { this.timerObject = {} this.form.setting = '' } this.form.courseMinutes = item.courseMinutes this.form.freeMinutes = item.freeMinutes }, onTimer: function onTimer() { var _this4 = this return _asyncToGenerator( /*#__PURE__*/ regeneratorRuntime.mark(function _callee2() { var form return regeneratorRuntime.wrap( function _callee2$(_context2) { while (1) { switch ((_context2.prev = _context2.next)) { case 0: _context2.prev = 0 form = _this4.form if (form.courseMinutes) { _context2.next = 5 break } Toast('请选择单课时时长') return _context2.abrupt('return') case 5: _this4.timeSetting.courseMinutes = Number( form.courseMinutes ) _this4.timeSetting.freeMinutes = Number( form.freeMinutes ) _this4.timerStatus = true _context2.next = 12 break case 10: _context2.prev = 10 _context2.t0 = _context2['catch'](0) case 12: case 'end': return _context2.stop() } } }, _callee2, null, [[0, 10]] ) }) )() }, onChoiceTimer: function onChoiceTimer(item, status) { this.form.setting = status ? '已设置' : '' this.timerObject = item this.timerStatus = false }, onChoice: function onChoice(item) { console.log(item) var tempItem = item || [] this.form.subjectId = tempItem this.form.subjectIdTemp = tempItem.join(',') || '' var subjectPriceList = _toConsumableArray( this.form.subjectPrice ) tempItem.forEach(function (item) { var index = subjectPriceList.findIndex(function (subject) { return subject.subjectId === item }) if (index === -1) { subjectPriceList.push({ subjectId: item, subjectPrice: null, subjectName: '' }) } }) var temp = [] subjectPriceList.forEach(function (item) { var isExist = tempItem.some(function (subjectId) { return subjectId === item.subjectId }) isExist && temp.push(item) }) this.form.subjectPrice = temp this.subjectStatus = false }, getSubjectName: function getSubjectName(id) { var subject = this.subjectList.find(function (item) { return item.id === id }) return subject ? subject.name : '' }, onFormatter: function onFormatter(val) { return verifyNumberIntegerAndFloat(val) }, onSubmit: function onSubmit() { var _this5 = this return _asyncToGenerator( /*#__PURE__*/ regeneratorRuntime.mark(function _callee3() { var form return regeneratorRuntime.wrap( function _callee3$(_context3) { while (1) { switch ((_context3.prev = _context3.next)) { case 0: _context3.prev = 0 form = _this5.form form.subjectPrice.forEach(function (item) { item.subjectName = _this5.getSubjectName( item.subjectId ) }) _context3.next = 5 return request.post( '/api-teacher/teacherFreeTime/upSet', { data: _objectSpread( _objectSpread({}, form), _this5.timerObject ) } ) case 5: Toast('设置成功') setTimeout(function () { postMessage({ api: 'back', content: {} }) }, 500) _context3.next = 11 break case 9: _context3.prev = 9 _context3.t0 = _context3['catch'](0) case 11: case 'end': return _context3.stop() } } }, _callee3, null, [[0, 9]] ) }) )() } }, render: function render() { var _this6 = this var _slot, _slot3, _slot4, _slot5 return createVNode( Form, { style: { paddingTop: '15px' }, onSubmit: this.onSubmit }, { default: function _default() { return [ createVNode(ColFieldGroup, null, { default: function _default() { return [ createVNode( ColField, { title: '是否开启陪练课', required: true, border: false }, { default: function _default() { return [ createVNode( RadioGroup, { class: styles$1['radio-group'], modelValue: _this6.form.enableFlag, 'onUpdate:modelValue': function onUpdateModelValue(val) { return (_this6.form.enableFlag = val) } }, _isSlot( (_slot = ['1', '0'].map(function ( item ) { var isActive = Number(item) === Number(_this6.form.enableFlag) var type = isActive ? 'primary' : 'default' return createVNode( Radio, { class: styles$1.radio, name: item }, { default: function _default() { return [ createVNode( Tag, { size: 'large', plain: isActive, type: type }, { default: function _default() { return [ _this6 .chargeTypeArr[ item ] ] } } ) ] } } ) })) ) ? _slot : { default: function _default() { return [_slot] } } ) ] } } ), createVNode( ColField, { title: '可教授乐器', required: true }, { default: function _default() { return [ _this6.form.subjectPrice && _this6.form.subjectPrice.length > 0 && createVNode( CheckboxGroup, { modelValue: _this6.form.subjectId, class: styles$1['checkbox-group'], disabled: true, onClick: function onClick() { _this6.subjectStatus = true } }, _isSlot( (_slot3 = _this6.form.subjectPrice.map( function (item) { var _slot2 return createVNode( Checkbox, { class: styles$1.checkbox }, { default: function _default() { return [ createVNode( Tag, { plain: true, type: 'primary', round: true, closeable: true, size: 'large', style: { backgroundColor: '#E9FFF8' }, onClick: function onClick( e ) { e.stopPropagation() e.preventDefault() }, onClose: function onClose( e ) { e.stopPropagation() e.preventDefault() Dialog.confirm( { title: '提示', message: '您是否要删除选择的乐器?', confirmButtonColor: 'var(--van-primary)' } ).then( function () { var index = _this6.form.subjectId.indexOf( item.subjectId ) if ( index !== -1 ) { _this6.form.subjectId.splice( index, 1 ) } var index2 = _this6.form.subjectPrice.findIndex( function ( subject ) { return ( subject.subjectId === item.subjectId ) } ) if ( index2 !== -1 ) { _this6.form.subjectPrice.splice( index2, 1 ) } _this6.form.subjectIdTemp = _this6.form.subjectId.join( ',' ) } ) } }, _isSlot( (_slot2 = _this6.getSubjectName( item.subjectId )) ) ? _slot2 : { default: function _default() { return [ _slot2 ] } } ) ] } } ) } )) ) ? _slot3 : { default: function _default() { return [_slot3] } } ), !_this6.form.subjectPrice.length && createVNode( Field, { modelValue: _this6.form.subjectIdTemp, 'onUpdate:modelValue': function onUpdateModelValue( $event ) { return (_this6.form.subjectIdTemp = $event) }, name: 'courseMinutes', readonly: true, onClick: function onClick() { _this6.subjectStatus = true }, rules: [ { required: true, message: '请选择可教授乐器' } ], placeholder: '请选择可教授乐器' }, null ) ] } } ), createVNode( ColField, { title: '单课时时长', required: true }, { default: function _default() { return [ createVNode( Field, { modelValue: _this6.form.courseMinutes, 'onUpdate:modelValue': function onUpdateModelValue( $event ) { return (_this6.form.courseMinutes = $event) }, name: 'courseMinutes', readonly: true, isLink: true, onClick: function onClick() { _this6.classTimeStatus = true }, rules: [ { required: true, message: '请选择单课时时长' } ], placeholder: '请选择单课时时长' }, { button: function button() { return createVNode('span', null, [ createTextVNode('\u5206\u949F') ]) } } ) ] } } ) ] } }), _this6.form.subjectPrice && _this6.form.subjectPrice.length > 0 && createVNode( ColFieldGroup, null, _isSlot( (_slot4 = _this6.form.subjectPrice.map(function ( item ) { return createVNode( ColField, { title: ''.concat( _this6.getSubjectName(item.subjectId), '\u58F0\u90E8\u966A\u7EC3\u4EF7\u683C' ), required: true }, { default: function _default() { return [ createVNode( Field, { modelValue: item.subjectPrice, 'onUpdate:modelValue': function onUpdateModelValue( $event ) { return (item.subjectPrice = $event) }, name: 'singleMins', type: 'number', labelWidth: 'auto', label: ''.concat( _this6.form.courseMinutes || 0, '\u5206\u949F / ' ), rules: [ { required: true, message: '\u8BF7\u9009\u62E9\u58F0\u90E8\u966A\u7EC3\u4EF7\u683C' } ], formatter: _this6.onFormatter, maxlength: 8, placeholder: '\u8BF7\u9009\u62E9\u58F0\u90E8\u966A\u7EC3\u4EF7\u683C' }, { button: function button() { return createVNode('span', null, [ createTextVNode('\u5143') ]) } } ) ] } } ) })) ) ? _slot4 : { default: function _default() { return [_slot4] } } ), createVNode(ColFieldGroup, null, { default: function _default() { return [ createVNode( ColField, { title: '可陪练时间段' }, { default: function _default() { return [ createVNode( Field, { modelValue: _this6.form.setting, name: 'singleMins', readonly: true, isLink: true, onClick: _this6.onTimer, placeholder: '未设置' }, null ) ] } } ) ] } }), createVNode(ColFieldGroup, null, { default: function _default() { return [ createVNode( ColField, { required: true, title: '是否跳过节假日', border: false }, { default: function _default() { return [ createVNode( RadioGroup, { class: styles$1['radio-group'], modelValue: _this6.form.skipHolidayFlag, 'onUpdate:modelValue': function onUpdateModelValue(val) { return (_this6.form.skipHolidayFlag = val) } }, _isSlot( (_slot5 = ['1', '0'].map(function ( item ) { var isActive = Number(item) === Number( _this6.form.skipHolidayFlag ) var type = isActive ? 'primary' : 'default' return createVNode( Radio, { class: styles$1.radio, name: item }, { default: function _default() { return [ createVNode( Tag, { size: 'large', plain: isActive, type: type }, { default: function _default() { return [ _this6 .chargeTypeArr[ item ] ] } } ) ] } } ) })) ) ? _slot5 : { default: function _default() { return [_slot5] } } ) ] } } ) ] } }), createVNode( Sticky, { offsetBottom: 0, position: 'bottom' }, { default: function _default() { return [ createVNode('div', { class: 'btnGroup' }, [ createVNode( Button, { block: true, round: true, type: 'primary', 'native-type': 'submit' }, { default: function _default() { return [createTextVNode('\u63D0\u4EA4')] } } ) ]) ] } } ), createVNode( ColPopup, { modelValue: _this6.subjectStatus, 'onUpdate:modelValue': function onUpdateModelValue( $event ) { return (_this6.subjectStatus = $event) }, destroy: true }, { default: function _default() { return [ createVNode( SubjectModel, { max: 5, single: true, subjectList: _this6.subjectList, choiceSubjectIds: _this6.choiceSubjectId, onChoice: _this6.onChoice }, null ) ] } } ), createVNode( ColPopup, { modelValue: _this6.timerStatus, 'onUpdate:modelValue': function onUpdateModelValue( $event ) { return (_this6.timerStatus = $event) }, destroy: true }, { default: function _default() { return [ createVNode( Timer, { onChoice: _this6.onChoiceTimer, timerObject: _this6.timerObject, courseMinutes: Number( _this6.timeSetting.courseMinutes ), freeMinutes: Number( _this6.timeSetting.freeMinutes ), startSetting: _this6.timeSetting.startSetting, endSetting: _this6.timeSetting.endSetting }, null ) ] } } ), createVNode( ActionSheet, { show: _this6.classTimeStatus, 'onUpdate:show': function onUpdateShow($event) { return (_this6.classTimeStatus = $event) }, actions: _this6.minutes, cancelText: '取消', closeOnClickAction: true, onSelect: _this6.onSelect }, null ) ] } } ) } }) ) } } } ) })()