/** * 用户详情对话框(可用于添加和修改对话框) */ var CoursePackageInfo = { userInfoData: {}, }; /** * 关闭此对话框 */ CoursePackageInfo.close = function () { parent.layer.close(window.parent.TStudent.layerIndex); }; CoursePackageInfo.openDia = function (i) { let index = layer.open({ type: 2, title: '编辑', area: ['80%', '80%'], //宽高 fix: false, //不固定 maxmin: true, content: Feng.ctxPath + '/coursePackage/conpun/'+i }); this.layerIndex = index; }; CoursePackageInfo.openDia1 = function (i) { var ids = $("#counpons"+i).val() console.log($("#counpons"+i).val()) let index = layer.open({ type: 2, title: '编辑', area: ['80%', '80%'], //宽高 fix: false, //不固定 maxmin: true, content: Feng.ctxPath + '/coursePackage/conpun1'+'/'+i+'?conpunids='+ids }); this.layerIndex = index; }; CoursePackageInfo.addTime = function (a) { console.log("==========="+a) var day = $.trim($('#time').val()); if (!day) { $('#timeSlotTable').hide(); $('#noDataTip').show().text('请先选择预约日期'); return; } // 获取入场方式 var targetAudience = $('input[name="targetAudience"]:checked').val() || 1; var type = $('input[name="type"]:checked').val() || 1; // 获取半场名称 var halfId = document.getElementById("half"); var halfName = halfId && halfId.options[halfId.selectedIndex] ? halfId.options[halfId.selectedIndex].text : ""; // 获取场地名称 var nextSiteId = document.getElementById("nextSite"); var siteName = ""; if (nextSiteId && nextSiteId.options[nextSiteId.selectedIndex]) { siteName = nextSiteId.options[nextSiteId.selectedIndex].text; } // 调用管理后台接口获取时间段数据 var ajax = new $ax(Feng.ctxPath + "/tSite/querySiteTimes", function(response){ console.log("时间段数据:", response) if(response && response.code == 200 && response.data){ var timeSlots = response.data; // 清空已选择的时间段 if (typeof selectedTimeSlots !== 'undefined') { selectedTimeSlots = []; } if(timeSlots.length > 0) { // 显示表格,隐藏提示 $('#timeSlotTable').show(); $('#noDataTip').hide(); // 生成表格内容 var tbody = ''; $.each(timeSlots, function(k, v) { var priceText = ''; var priceClass = 'price-cell'; var rowClass = ''; var clickable = ''; var canBook = true; // 判断是否可预订 if (targetAudience == 1) { // 订场模式 if (v.isReserve == 1) { // 被订场,不可预订 canBook = false; } else if (v.selectCount >= v.selectMaxCount) { // 散客数已满,不可预订 canBook = false; } } else { // 散客模式 if (v.isReserve == 1) { // 被订场,不可预订 canBook = false; } else if (v.selectCount >= v.selectMaxCount) { // 散客数已满,不可预订 canBook = false; } } // 构建价格文本 var basePriceText = (v.cashPrice || 0) + '元 / ' + (v.coinPrice || 0) + '币'; if (!canBook || v.selectable == 0) { // 不可预订 priceClass += ' price-unavailable'; priceText = basePriceText + '
(不可预订)'; rowClass = 'disabled'; clickable = 'style="cursor: not-allowed;"'; } else { // 可预订 priceText = basePriceText; // 散客模式显示预定人数 if (targetAudience == 2) { priceText += '(' + (v.selectCount || 0) + '/' + (v.selectMaxCount || 0) + ')'; } var jsonStr = JSON.stringify(v).replace(/"/g, '"'); clickable = 'onclick="toggleTimeSlot(this, ' + k + ')" style="cursor: pointer;" data-index="' + k + '"'; } tbody += ''; tbody += '' + v.time + ''; tbody += '' + priceText + ''; tbody += ''; }); $('#timeSlotBody').html(tbody); // 保存原始数据到全局变量 window.allTimeSlots = timeSlots; } else { // 没有数据 $('#timeSlotTable').hide(); $('#noDataTip').show(); $('#noDataTip').text('该日期暂无可预约时间段'); } // 重置价格 $('#cash').val(''); $('#play').val(''); } else { $('#timeSlotTable').hide(); $('#noDataTip').show(); $('#noDataTip').text('获取时间段失败'); } }, function(error){ console.error("获取时间段失败:", error); Feng.error("获取时间段失败!"); $('#timeSlotTable').hide(); $('#noDataTip').show(); $('#noDataTip').text('获取时间段失败'); }); ajax.set("id", $('#siteId').val()); ajax.set("day", day); ajax.set("targetAudience", targetAudience); console.log("类型") console.log(type) if(type==2 && halfName && halfName != "") { ajax.set("halfName", halfName); } if(siteName && siteName != "") { ajax.set("siteName", siteName); } ajax.start(); }; CoursePackageInfo.queryHalf = function (a) { var ajax1 = new $ax(Feng.ctxPath + "/ball/halfName/"+ $('#siteId').val(), function(data){ console.log("================"+data) if(data!=null){ let htmlStr = ''; for (let i = 0; i < data.length; i++) { htmlStr += '' } $("#half").empty().append(htmlStr); } }) ajax1.start() var ajax2 = new $ax(Feng.ctxPath + "/ball/nextName/"+ $('#siteId').val(), function(data){ console.log("================"+data) if(data!=null){ let htmlStr = ''; if (data.length>1){ console.log(8888) console.log(data.length) for (let i = 0; i < data.length; i++) { htmlStr += '' } $("#nextSite1").show() $("#nextSite").empty().append(htmlStr); }else { console.log("9999") $("#nextSite1").hide() $("#nextSite").empty() } } }) ajax2.start() } CoursePackageInfo.addTime1 = function (a) { if ($('#siteId').val() != $('#selSiteId').val()||$('#time').val()!=$('#selDate').val()){ $("#ttt3").hide() $("#ttt2").show() }else { $("#ttt3").show() $("#ttt2").hide() } console.log("==========="+a) var ajax = new $ax(Feng.ctxPath + "/ball/yuyuetimes/"+ $('#siteId').val(), function(data){ console.log("================"+data) if(data!=null){ var content=''; $.each(data, function(k, v) { var buttonClass = "layui-btn layui-btn-primary"; var style = ""; if (v.state === 0) { style = "background-color: red;"; } var disabledAttribute = v.state === 0 ? "disabled" : ""; content += ''; }); $("#ttt2").empty().append(content); } }) ajax.start() var ajax1 = new $ax(Feng.ctxPath + "/ball/halfName/"+ $('#siteId').val(), function(data){ console.log("================"+data) if(data!=null){ let htmlStr = ''; for (let i = 0; i < data.length; i++) { htmlStr += '' } $("#half").empty().append(htmlStr); } }) ajax1.start() }; /** * 提交添加用户 */ CoursePackageInfo.addSubmit = function () { let province = $('#provinceCode option:checked').text(); let provinceCode = $('#provinceCode').val(); let city = $('#cityCode option:checked').text(); let cityCode = $('#cityCode').val(); let storeId = $('#storeId').val(); let siteId = $('#siteId').val(); let site = $('#nextSite').val(); console.log("===========") console.log(site) var radios = document.getElementsByName("type"); var selectedValue; for (var i = 0; i < radios.length; i++) { if (radios[i].checked) { selectedValue = radios[i].value; break; } } let type = selectedValue; let half = $('#half').val(); let date = $('#time').val(); // 获取入场方式 var targetAudience = $('input[name="targetAudience"]:checked').val() || 1; // 使用新的方式收集选中的时间段 var values = ""; if (typeof selectedTimeSlots !== 'undefined' && selectedTimeSlots.length > 0) { for (var i = 0; i < selectedTimeSlots.length; i++) { values += date + " " + selectedTimeSlots[i].time + ";"; } values = values.slice(0, -1); } else { // 兼容旧方式 var elements = document.getElementsByClassName("layui-btn layui-btn-primary green-button"); for (var i = 0; i < elements.length; i++) { values += date +" "+ elements[i].innerText + ";"; } values = values.slice(0, -1); } console.log("看看预约时间段") console.log(values); var times = values; let cash = $('#cash').val(); let play = $('#play').val(); let booker = $('#booker').val(); let phone = $('#phone').val(); //提交信息 var ajax = new $ax(Feng.ctxPath + "/ball/ordersave", function (data) { if(data.code == 200){ Feng.success("添加成功!"); CoursePackageInfo.close(); window.parent.TStudent.table.refresh(); }else{ Feng.error(data.msg); } }, function (data) { Feng.error("添加失败!" + data.responseJSON.message + "!"); }); ajax.set("province",province) ajax.set("provinceCode",provinceCode); ajax.set("city",city); ajax.set("cityCode",cityCode); ajax.set("storeId",storeId); if (type ==1){ ajax.set("isHalf",2); }else { ajax.set("isHalf",1); } ajax.set("siteId",siteId); ajax.set("nextName",site); ajax.set("halfName",half); ajax.set("date",date); ajax.set("times",times); ajax.set("money",cash+","+play); ajax.set("booker",booker); ajax.set("phone",phone); ajax.set("targetAudience",targetAudience); ajax.start(); }; /** * 新修改 */ CoursePackageInfo.addSubmit1 = function () { let province = $('#provinceCode option:checked').text(); let provinceCode = $('#provinceCode').val(); let city = $('#cityCode option:checked').text(); let cityCode = $('#cityCode').val(); let storeId = $('#storeId').val(); let siteId = $('#siteId').val(); let site = $('#siteId option:checked').text(); var radios = document.getElementsByName("type"); var selectedValue; for (var i = 0; i < radios.length; i++) { if (radios[i].checked) { selectedValue = radios[i].value; break; } } let type = selectedValue; let half = $('#half').val(); let date = $('#time').val(); var elements = document.getElementsByClassName("layui-btn layui-btn-primary green-button"); var values = ""; console.log("==============="+elements[0]) if ($('#siteId').val() != $('#selSiteId').val()||$('#time').val()!=$('#selDate').val()) { for (var i = 0; i < elements.length; i++) { if (elements[i].name != 'has') { values += date + " " + elements[i].innerText + ";"; } } }else { for (var i = 0; i < elements.length; i++) { if (elements[i].name = 'has') { values += date + " " + elements[i].innerText + ";"; } } } // 去除最后一个逗号 values = values.slice(0, -1); console.log(values); var times = values; let cash = $('#cash').val(); let play = $('#play').val(); let booker = $('#booker').val(); let phone = $('#phone').val(); let id = $('#id').val(); //提交信息 var ajax = new $ax(Feng.ctxPath + "/ball/orderedit", function (data) { if(data.code == 200){ Feng.success("添加成功!"); CoursePackageInfo.close(); window.parent.TStudent.table.refresh(); }else{ Feng.error(data.msg); } }, function (data) { Feng.error("添加失败!" + data.responseJSON.message + "!"); }); ajax.set("province",province) ajax.set("provinceCode",provinceCode); ajax.set("city",city); ajax.set("cityCode",cityCode); ajax.set("storeId",storeId); ajax.set("isHalf",type); ajax.set("siteId",siteId); ajax.set("nextName",site); ajax.set("halfName",half); ajax.set("date",date); ajax.set("times",times); ajax.set("money",cash+","+play); ajax.set("booker",booker); ajax.set("phone",phone); ajax.set("id",id); ajax.start(); }; /** * 提交修改 */ CoursePackageInfo.editSubmit = function () { let id = $('#id').val(); let province = $('#provinceCode option:checked').text(); let provinceCode = $('#provinceCode').val(); let city = $('#cityCode option:checked').text(); let cityCode = $('#cityCode').val(); let storeId = $('#storeId').val(); let coursePackageTypeId = $('#coursePackageTypeId').val(); let name = $('#name').val(); let siteId = $('#siteId').val(); let coachId = $('#coachId').val(); let maxSubscribeNumber = $('#maxSubscribeNumber').val(); let codeTime = $('#codeTime').val(); let type = $('#type').val(); let holitime = $('#holitime').val(); var inputElements = document.querySelectorAll('input[name="classStartTime"]'); let classStartTime = JSON.stringify(Array.from(inputElements).map(function(element) { return element.value; })) // let classStartTime = $('#classStartTime').val(); let classWeeks = ''; $('input[name="classWeeks"]:checked').each(function (index, e) { classWeeks += $(e).val() + ";"; }) let coverDrawing = $('#coverDrawing').val(); let detailDrawing = $('#detailDrawing').val(); let introduceDrawing = $('#introduceDrawing').val(); let sort = $('#sort').val(); let validDays = $('#validDays').val(); // let counpons = $($(e).find(".counpons")).val(); let price = []; $('#price>.form-group').each(function (i, e) { let classHours = $($(e).find(".classNumber_span input[class='classNumber']")[0]).val(); let cash = $($(e).find(".cash_span input[class='cash']")[0]).val(); let paiCoin = $($(e).find(".paiCoin_span input[class='paiCoin']")[0]).val(); let counpons = $($(e).find(".counpons")).val(); price.push({ classHours: classHours, cashPayment: typeof cash == "undefined" ? 0 : cash, playPaiCoin: typeof paiCoin == "undefined" ? 0 : paiCoin, couponIds: typeof counpons == "undefined" ? 0 : counpons }) }); if(null == provinceCode || '' == provinceCode){ Feng.error("所在省不能为空"); return } if(null == cityCode || '' == cityCode){ Feng.error("所在市不能为空"); return } if(null == storeId || '' == storeId){ Feng.error("所属门店不能为空"); return } if(null == coursePackageTypeId || '' == coursePackageTypeId){ Feng.error("课程类型不能为空"); return } if(null == name || '' == name){ Feng.error("课包名称不能为空"); return } if(null == siteId || '' == siteId){ Feng.error("上课场地不能为空"); return } if(null == coachId || '' == coachId){ Feng.error("授课教师不能为空"); return } // if(null == maxSubscribeNumber || '' == maxSubscribeNumber){ // Feng.error("最多预约人数不能为空"); // return // } // if(null == codeTime || '' == codeTime){ // Feng.error("扣除课时不能为空"); // return // } // if(null == classStartTime || '' == classStartTime){ // Feng.error("上课时间不能为空"); // return // } // if(null == classWeeks || '' == classWeeks){ // Feng.error("周不能为空"); // return // } classWeeks = classWeeks.substring(0, classWeeks.length - 1); if(null == coverDrawing || '' == coverDrawing){ Feng.error("课包封面不能为空"); return } if(null == detailDrawing || '' == detailDrawing){ Feng.error("详情页不能为空"); return } if(null == introduceDrawing || '' == introduceDrawing){ Feng.error("课包介绍不能为空"); return } // if(null == validDays || '' == validDays){ // Feng.error("课时有效期不能为空"); // return // } let obj = { id: id, province: province, provinceCode: provinceCode, city: city, cityCode: cityCode, storeId: storeId, coursePackageTypeId: coursePackageTypeId, name: name, siteId: siteId, coachId: coachId, maxSubscribeNumber: maxSubscribeNumber, codeTime: codeTime, type:type, classStartTime: classStartTime, // classEndTime: classStartTime.split(" - ")[1], classWeeks: classWeeks, coverDrawing: coverDrawing, detailDrawing: detailDrawing, introduceDrawing: introduceDrawing, sort: sort, validDays: validDays, coursePackagePaymentConfig: JSON.stringify(price), holitime:holitime } console.log("======="+obj) //提交信息 var ajax = new $ax(Feng.ctxPath + "/coursePackage/updateCoursePackage", function (data) { if(data.code == 200){ Feng.success("编辑成功!"); CoursePackageInfo.close(); window.parent.CoursePackage.table.refresh(); }else{ Feng.error(data.msg); } }, function (data) { Feng.error("编辑失败!" + data.responseJSON.message + "!"); }); ajax.set(obj); ajax.start(); }; function queryStore() { let ajax = new $ax(Feng.ctxPath + "/coursePackage/queryStore", function (data) { let htmlStr = ''; for (let i = 0; i < data.length; i++) { htmlStr += '' } $('#storeId').html(htmlStr); querySite(); }, function (data) { Feng.error("获取失败!" + data.responseJSON.message + "!"); }); ajax.set("cityCode", $('#cityCode').val()); ajax.start(); } function querySite(){ let ajax = new $ax(Feng.ctxPath + "/coursePackage/querySite", function (data) { let htmlStr = ''; for (let i = 0; i < data.length; i++) { htmlStr += '' } $('#siteId').html(htmlStr); }, function (data) { Feng.error("获取失败!" + data.responseJSON.message + "!"); }); ajax.set("storeId", $('#storeId').val()); ajax.start(); } function queryCoach(){ let ajax = new $ax(Feng.ctxPath + "/coursePackage/queryCoach", function (data) { let htmlStr = ''; for (let i = 0; i < data.length; i++) { htmlStr += '' } $('#coachId').html(htmlStr); }, function (data) { Feng.error("获取失败!" + data.responseJSON.message + "!"); }); ajax.set("cityCode", $('#cityCode').val()); ajax.start(); } function addPrice(y){ console.log("===="+y) let cash = false; let paiCoin = false; $('input[name="payType"]:checked').each(function (index, e) { let v = $(e).val(); if(v == 1){ cash = true; } if(v == 2){ paiCoin = true; } }) var i = $('#price > div').length+1 let htmlStr = '' if (y===1){ htmlStr += '
\n' + ' \n' + '
\n' + '      \n'; } if (y===2){ htmlStr += '
\n' + ' \n' + '
\n' + ' \n'; } '
\n' + ' \n' + '
\n' + '      \n'; if(cash){ htmlStr += '现金支付: ¥    \n'; } htmlStr += ' '; if(paiCoin){ htmlStr += '玩湃币支付: 币    \n'; } htmlStr += ''; htmlStr += ' \n' + '
\n' +''+i+ '
'; $('#price').append(htmlStr); } function removePrice(e){ $(e).parent('div').parent('div').remove(); } function removePrice1(e){ $(e).parent('div').remove(); } $(function () { $('#provinceCode').change(function () { let ajax = new $ax(Feng.ctxPath + "/coursePackage/queryCity", function (data) { let htmlStr = ''; for (let i = 0; i < data.length; i++) { htmlStr += '' } $('#cityCode').html(htmlStr); queryStore(); queryCoach(); }, function (data) { Feng.error("获取失败!" + data.responseJSON.message + "!"); }); ajax.set("code", $(this).val()); ajax.start(); }) $('#cityCode').change(function () { queryStore(); }) $('#storeId').change(function () { querySite(); CoursePackageInfo.queryHalf(); }) $('#siteId').change(function () { if ($('#time').val()!="") CoursePackageInfo.addTime(); }) $('input[name="payType"]').click(function () { $('input[name="payType"]').each(function (index, e) { let v = $(e).val(); if(v == 1) { if (e.checked) { $('span[class="cash_span"]').each(function (index, e) { $(e).html('现金支付: ¥    '); }) } else { $('span[class="cash_span"]').each(function (index, e) { $(e).html(''); }) } } if(v == 2){ if (e.checked) { $('span[class="paiCoin_span"]').each(function (index, e) { $(e).html('玩湃币支付: 币    ') }) } else { $('span[class="paiCoin_span"]').each(function (index, e) { $(e).html(''); }) } } }) }) });