';
html += '
' + esc(shortHospitalName(h.enterpriseName || h.enterpriseId || "院区")) + '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
return html;
}
// ================= 这里包含了所有加载和滑动的最终修复配置 =================
function initSwipers(count) {
if (typeof Swiper === "undefined") {
return;
}
for (var i = 0; i < count; i++) {
new Swiper('.doctor-swiper-' + i, {
// 1. 这里是手机端的默认配置!(屏幕最小的时候)
slidesPerView: 3, // 手机端默认显示 3 个(或者你改成 2 也行)
spaceBetween: 0,
loop: false,
observer: true, // 解决 AJAX 加载完无法滑动的问题
observeParents: true, // 解决 AJAX 加载完无法滑动的问题
navigation: {
nextEl: '.doctor-next-' + i,
prevEl: '.doctor-prev-' + i
},
// 2. 这里是电脑端/大屏的断点配置
breakpoints: {
// 当屏幕宽度大于等于 768px 时 (ipads 或 电脑)
768: {
slidesPerView: 7, // 恢复成 7 个
spaceBetween: 0
}
}
});
}
}
function renderResult(res) {
var $panel = $("#doctorSchedulePanel");
if (!res || !res.success) {
$panel.html('
出诊安排
' + esc((res && res.message) ? res.message : '加载失败') + '
');
return;
}
var hospitals = res.hospitals || [];
var dates = res.dates || [];
if (hospitals.length === 0) {
$panel.html('
出诊安排
' + esc(res.message || '近7天暂无排班') + '
');
return;
}
var html = '';
for (var i = 0; i < hospitals.length; i++) {
html += renderOneHospital(hospitals[i], dates, i);
}
// 先塞入 DOM
$panel.html(html);
// 后初始化 Swiper
initSwipers(hospitals.length);
}
function loadDoctorSchedule() {
var wbnewsid = $.trim($("#wbnewsid").val() || "");
var owner = $.trim($("#owner").val() || "");
if (!wbnewsid || !owner) {
// 如果电脑端有但在手机端漏加 wbnewsid 元素,这里会报错,需要排查 HTML
$("#doctorSchedulePanel").html('
出诊安排
缺少参数:wbnewsid 或 owner
');
return;
}
$.ajax({
url: endpoint,
type: "GET",
dataType: "json",
cache: false,
data: {
wbnewsid: wbnewsid,
owner: owner
},
success: function (res) {
renderResult(res);
},
error: function () {
$("#doctorSchedulePanel").html('
');
}
});
}
$(function () {
loadDoctorSchedule();
});
})(jQuery);