zoujiandong 6e320c3944 8.3
2025-08-03 16:29:54 +08:00

630 lines
21 KiB
JavaScript

"use strict";
const common_vendor = require("../../common/vendor.js");
const api_api = require("../../api/api.js");
const common_assets = require("../../common/assets.js");
const utils_navTo = require("../../utils/navTo.js");
if (!Array) {
const _easycom_up__image2 = common_vendor.resolveComponent("up--image");
const _easycom_up_radio2 = common_vendor.resolveComponent("up-radio");
const _easycom_up_radio_group2 = common_vendor.resolveComponent("up-radio-group");
const _easycom_up_dropdown_item2 = common_vendor.resolveComponent("up-dropdown-item");
const _easycom_up_dropdown2 = common_vendor.resolveComponent("up-dropdown");
const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon");
const _easycom_z_paging2 = common_vendor.resolveComponent("z-paging");
const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
const _easycom_up_steps_item2 = common_vendor.resolveComponent("up-steps-item");
const _easycom_up_steps2 = common_vendor.resolveComponent("up-steps");
const _easycom_up_popup2 = common_vendor.resolveComponent("up-popup");
(_easycom_up__image2 + _easycom_up_radio2 + _easycom_up_radio_group2 + _easycom_up_dropdown_item2 + _easycom_up_dropdown2 + _easycom_up_icon2 + _easycom_z_paging2 + _easycom_u_icon2 + _easycom_up_steps_item2 + _easycom_up_steps2 + _easycom_up_popup2)();
}
const _easycom_up__image = () => "../../node-modules/uview-plus/components/u--image/u--image.js";
const _easycom_up_radio = () => "../../node-modules/uview-plus/components/u-radio/u-radio.js";
const _easycom_up_radio_group = () => "../../node-modules/uview-plus/components/u-radio-group/u-radio-group.js";
const _easycom_up_dropdown_item = () => "../../node-modules/uview-plus/components/u-dropdown-item/u-dropdown-item.js";
const _easycom_up_dropdown = () => "../../node-modules/uview-plus/components/u-dropdown/u-dropdown.js";
const _easycom_up_icon = () => "../../node-modules/uview-plus/components/u-icon/u-icon.js";
const _easycom_z_paging = () => "../../uni_modules/z-paging/components/z-paging/z-paging.js";
const _easycom_u_icon = () => "../../node-modules/uview-plus/components/u-icon/u-icon.js";
const _easycom_up_steps_item = () => "../../node-modules/uview-plus/components/u-steps-item/u-steps-item.js";
const _easycom_up_steps = () => "../../node-modules/uview-plus/components/u-steps/u-steps.js";
const _easycom_up_popup = () => "../../node-modules/uview-plus/components/u-popup/u-popup.js";
if (!Math) {
(navBarSearch + _easycom_up__image + _easycom_up_radio + _easycom_up_radio_group + _easycom_up_dropdown_item + _easycom_up_dropdown + _easycom_up_icon + _easycom_z_paging + _easycom_u_icon + _easycom_up_steps_item + _easycom_up_steps + _easycom_up_popup)();
}
const navBarSearch = () => "../../components/navBarSearch/navBarSearch.js";
const _sfc_main = {
__name: "search",
setup(__props) {
const dataList = common_vendor.ref([]);
const total = common_vendor.ref(0);
const keyWord = common_vendor.ref("");
const label_iden = common_vendor.ref("");
const isArticle = common_vendor.ref(true);
const hospital_id = common_vendor.ref("");
const hospital_name = common_vendor.ref("");
const doctor_id = common_vendor.ref("");
const doctor_name = common_vendor.ref("");
const numInfo = common_vendor.reactive({});
const searchInfo = common_vendor.reactive({});
const freshKey = common_vendor.ref(0);
const navType = common_vendor.ref("");
const navName = common_vendor.ref("肝胆相照临床病例库");
const paging = common_vendor.ref(null);
const hideType = common_vendor.ref(false);
const dropTitle = common_vendor.ref("发布时间");
const orderFilter = common_vendor.ref("1");
const uDropdownRef = common_vendor.ref(null);
const isCase = common_vendor.ref(false);
const options = common_vendor.ref([
{
label: "发布时间",
value: "1"
},
{
label: "阅读次数",
value: "2"
}
]);
const isSearch = common_vendor.ref(false);
const order = common_vendor.reactive({
read_num: "",
push_date: "desc"
});
const showCase = common_vendor.ref(false);
const canOpenCase = common_vendor.ref(false);
const caseValue1 = common_vendor.reactive({
value: "",
name: ""
});
const caseValue2 = common_vendor.reactive({
value: "",
name: ""
});
const caseValue3 = common_vendor.reactive({
value: "",
name: ""
});
const level = common_vendor.ref(1);
const labelObj = common_vendor.reactive({
list1: [],
list2: [],
list3: []
});
const openCaseLevel = (lev) => {
freshKey.value++;
level.value = lev;
if (lev == 1) {
caseValue2.name = "";
caseValue2.value = "";
labelObj.list2 = [];
} else if (lev == 2) {
labelObj.list3 = [];
caseValue3.name = "";
caseValue3.value = "";
}
};
const groupChange1 = (e) => {
caseValue1.value = e;
for (var i = 0; i < labelObj.list1.length; i++) {
if (labelObj.list1[i].app_iden == caseValue1.value) {
caseValue1.name = labelObj.list1[i].label_name;
break;
}
}
getCaseLabel(2, e);
};
const groupChange2 = (e) => {
caseValue2.value = e;
for (var i = 0; i < labelObj.list2.length; i++) {
if (labelObj.list2[i].app_iden == caseValue2.value) {
caseValue2.name = labelObj.list2[i].label_name;
break;
}
}
getCaseLabel(3, e);
};
const groupChange3 = (e) => {
caseValue3.value = e;
level.value = 3;
for (var i = 0; i < labelObj.list3.length; i++) {
if (labelObj.list3[i].app_iden == caseValue3.value) {
caseValue3.name = labelObj.list3[i].label_name;
break;
}
}
};
const getCaseLabel = (lev, pid = 0) => {
api_api.api.getCaseLabel({
pId: pid
}).then((res) => {
level.value = lev;
if (lev == 1) {
labelObj.list1 = res.data.data;
} else if (lev == 2) {
labelObj.list2 = res.data.data;
if (res.data.data.length == 0) {
level.value = 1;
}
} else if (lev == 3) {
labelObj.list3 = res.data.data;
if (res.data.data.length == 0) {
level.value = 2;
}
}
});
};
const openCase = () => {
showCase.value = true;
};
const confirmCase = () => {
if (level.value == 1 && caseValue1.value == "") {
common_vendor.index.showToast({ title: "请选择疾病选项", icon: "none" });
return false;
}
if (level.value == 1) {
label_iden.value = caseValue1.value;
}
if (level.value == 2) {
if (!caseValue2.value) {
label_iden.value = caseValue1.value;
} else {
label_iden.value = caseValue2.value;
}
}
if (level.value == 3) {
if (!caseValue3.value) {
label_iden.value = caseValue2.value;
} else {
label_iden.value = caseValue3.value;
}
}
paging.value.reload();
showCase.value = false;
};
const closeCase = () => {
showCase.value = false;
};
const changeWord = (value) => {
keyWord.value = value;
isSearch.value = true;
paging.value.reload();
};
common_vendor.onLoad((options2) => {
if (options2.from == "home") {
isSearch.value = true;
} else if (options2.from == "myCase") {
navType.value = "myCase";
}
if (options2.keyWord) {
keyWord.value = options2.keyWord;
}
if (options2.order == "new") {
order.push_date = "desc";
hideType.value = true;
navName.value = "文章临床病例库";
}
if (options2.order == "read") {
order.push_date = "desc";
hideType.value = true;
navName.value = "文章临床病例库";
}
if (options2.order == "video") {
isArticle.value = false;
}
if (options2.doctor_id) {
doctor_id.value = options2.doctor_id;
doctor_name.value = options2.doctor_name;
navName.value = doctor_name.value + "临床病例库";
getStaticDoctor(doctor_id.value);
}
if (options2.hospital_id) {
hospital_id.value = options2.hospital_id;
hospital_name.value = options2.hospital_name;
navName.value = hospital_name.value + "临床病例库";
getStaticHospital(hospital_id.value);
}
if (options2.case_id) {
label_iden.value = options2.case_id;
navName.value = options2.case_name + "临床病例库";
getStaticSick(label_iden.value);
} else {
canOpenCase.value = true;
}
getCaseLabel(1, 0);
});
common_vendor.onShow(() => {
var _a;
(_a = paging.value) == null ? void 0 : _a.refresh();
});
const changeDate = (e) => {
if (e == 1) {
order.push_date = "desc";
order.read_num = "";
dropTitle.value = "发布时间";
} else {
order.push_date = "";
order.read_num = "desc";
dropTitle.value = "阅读次数";
}
orderFilter.value = e;
uDropdownRef.value.close();
paging.value.reload();
};
const formatdate = (date) => {
return common_vendor.dayjs(date).format("YYYY-MM-DD");
};
const goDetail = (id, isLink, src) => {
common_vendor.index.__f__("log", "at pages/search/search.vue:476", isLink);
if (isLink == 1) {
api_api.api.readRecord({
type: isArticle.value ? 1 : 2,
id
}).then((res) => {
});
utils_navTo.navTo({
url: `/pages/web/web?src=${src}`
});
} else {
let type = isArticle.value ? "article" : "video";
utils_navTo.navTo({
url: `/pages/detail/detail?id=${id}&type=${type}`
});
}
};
const swicthType = () => {
isArticle.value = !isArticle.value;
dataList.value = [];
paging.value.reload();
};
const searchArticle = (params) => {
let searchForm = {
keyword: keyWord.value,
hospital_id: hospital_id.value,
doctor_id: doctor_id.value,
label_iden: label_iden.value
};
if (label_iden.value === "") {
delete searchForm.label_iden;
}
if (isSearch.value) {
searchForm.is_need_num = 1;
}
if (!order.read_num) {
delete order.read_num;
}
if (!order.push_date) {
delete order.push_date;
}
if (order.read_num || order.push_date) {
searchForm.order = order;
}
api_api.api.searchArticle({
...searchForm,
...params
}).then((res) => {
paging.value.complete(res.data.data.data);
total.value = res.data.data.total;
searchInfo.search_video_num = res.data.data.search_video_num;
searchInfo.search_article_num = res.data.data.search_article_num;
}).catch((err) => {
paging.value.complete(false);
});
};
const searchVideo = async (params) => {
let searchForm = {
keyword: keyWord.value,
hospital_id: hospital_id.value,
doctor_id: doctor_id.value,
label_iden: label_iden.value
};
if (label_iden.value === "") {
delete searchForm.label_iden;
}
if (isSearch.value) {
searchForm.is_need_num = 1;
}
if (!order.read_num) {
delete order.read_num;
}
if (!order.push_date) {
delete order.push_date;
}
if (order.read_num || order.push_date) {
searchForm.order = order;
}
api_api.api.searchVideo({
...searchForm,
...params
}).then((res) => {
paging.value.complete(res.data.data.data);
total.value = res.data.data.total;
searchInfo.search_video_num = res.data.data.search_video_num;
searchInfo.search_article_num = res.data.data.search_article_num;
}).catch((err) => {
paging.value.complete(false);
});
};
const getStaticDoctor = (id) => {
api_api.api.getStaticDoctor(id).then((res) => {
let result = res.data.data;
if (result) {
Object.assign(numInfo, result);
} else {
Object.assign(numInfo, {
article_num: 0,
article_read_num: 0,
video_collect_num: 0,
video_num: 0,
video_read_num: 0
});
}
});
};
const getStaticSick = (id) => {
api_api.api.getStaticSick({
label_iden: id
}).then((res) => {
let result = res.data.data;
if (result) {
Object.assign(numInfo, result);
} else {
Object.assign(numInfo, {
article_num: 0,
article_read_num: 0,
video_collect_num: 0,
video_num: 0,
video_read_num: 0
});
}
});
};
const getStaticHospital = (id) => {
api_api.api.getStaticHospital(id).then((res) => {
let result = res.data.data;
if (result) {
Object.assign(numInfo, result);
} else {
Object.assign(numInfo, {
article_num: 0,
article_read_num: 0,
video_collect_num: 0,
video_num: 0,
video_read_num: 0
});
}
});
};
const queryList = (pageNo, pageSize) => {
common_vendor.index.__f__("log", "at pages/search/search.vue:630", 666666);
const params = {
page: pageNo,
page_size: pageSize
};
isArticle.value ? searchArticle(params) : searchVideo(params);
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.o(changeWord),
b: common_vendor.p({
searchWord: keyWord.value,
navName: navName.value,
type: navType.value
}),
c: hospital_id.value || doctor_id.value || label_iden.value && !canOpenCase.value
}, hospital_id.value || doctor_id.value || label_iden.value && !canOpenCase.value ? {
d: common_vendor.t(numInfo.article_num),
e: common_vendor.t(numInfo.video_num),
f: common_vendor.t(numInfo.video_read_num + numInfo.article_read_num)
} : {}, {
g: isSearch.value
}, isSearch.value ? common_vendor.e({
h: common_vendor.t(searchInfo.search_article_num),
i: !hideType.value
}, !hideType.value ? {
j: common_vendor.t(searchInfo.search_video_num)
} : {}, {
k: keyWord.value
}, keyWord.value ? {
l: common_vendor.t(keyWord.value)
} : {}) : {}, {
m: !hideType.value && !isCase.value
}, !hideType.value && !isCase.value ? {
n: common_vendor.t(!isArticle.value ? "视频" : "文章"),
o: common_vendor.p({
src: common_vendor.unref(common_assets.switchImg),
width: "31rpx",
height: "31rpx"
}),
p: common_vendor.o(swicthType)
} : {}, {
q: canOpenCase.value
}, canOpenCase.value ? {
r: common_vendor.p({
src: common_vendor.unref(common_assets.caseImg),
width: "31rpx",
height: "31rpx"
}),
s: label_iden.value ? 1 : "",
t: common_vendor.o(openCase)
} : {}, {
v: common_vendor.f(options.value, (item, k0, i0) => {
return {
a: "c10c040c-7-" + i0 + ",c10c040c-6",
b: common_vendor.p({
activeColor: "#3CC7C0",
label: item.label,
name: item.value
}),
c: item.value,
d: common_vendor.n(orderFilter.value == item.value ? "active" : "")
};
}),
w: common_vendor.o(changeDate),
x: common_vendor.o(($event) => orderFilter.value = $event),
y: common_vendor.p({
iconPlacement: "right",
placement: "column",
modelValue: orderFilter.value
}),
z: common_vendor.p({
title: dropTitle.value
}),
A: common_vendor.sr(uDropdownRef, "c10c040c-4,c10c040c-0", {
"k": "uDropdownRef"
}),
B: canOpenCase.value ? 1 : "",
C: hideType.value ? 1 : "",
D: isCase.value ? 1 : "",
E: common_vendor.f(dataList.value, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(isArticle.value ? item.article_title : item.video_title),
b: common_vendor.f(item.author, (tag, k1, i1) => {
return {
a: common_vendor.t(tag.doctor_name),
b: tag.author_id
};
}),
c: "c10c040c-8-" + i0 + ",c10c040c-0",
d: common_vendor.t(item.read_num),
e: item.collect_num > 0
}, item.collect_num > 0 ? {
f: "c10c040c-9-" + i0 + ",c10c040c-0",
g: common_vendor.p({
name: "heart",
color: "#6B7280",
size: "28rpx"
}),
h: common_vendor.t(item.collect_num)
} : {}, {
i: "c10c040c-10-" + i0 + ",c10c040c-0",
j: common_vendor.t(formatdate(item.push_date)),
k: index,
l: common_vendor.o(($event) => isArticle.value ? goDetail(item.article_id, item.is_link, item.is_link_url) : goDetail(item.video_id, item.is_link, item.is_link_url), index)
});
}),
F: common_vendor.p({
name: "eye",
color: "#6B7280",
size: "28rpx"
}),
G: common_vendor.p({
name: "clock",
color: "#6B7280",
size: "28rpx"
}),
H: common_vendor.sr(paging, "c10c040c-0", {
"k": "paging"
}),
I: common_vendor.o(queryList),
J: common_vendor.o(($event) => dataList.value = $event),
K: common_vendor.p({
["inside-more"]: true,
["loading-more-no-more-text"]: "咱也是有底线的!",
["auto-show-back-to-top"]: true,
modelValue: dataList.value
}),
L: common_vendor.o(closeCase),
M: common_vendor.o(confirmCase),
N: common_vendor.t(!caseValue1.name ? "请选择选项" : caseValue1.name),
O: common_vendor.p({
name: "arrow-right"
}),
P: common_vendor.o(($event) => openCaseLevel("1")),
Q: caseValue1.name && labelObj.list2.length > 0
}, caseValue1.name && labelObj.list2.length > 0 ? {
R: common_vendor.t(!caseValue2.name ? "请选择选项" : caseValue2.name),
S: common_vendor.p({
name: "arrow-right"
}),
T: common_vendor.o(($event) => openCaseLevel("2"))
} : {}, {
U: caseValue2.name && labelObj.list3.length > 0
}, caseValue2.name && labelObj.list3.length > 0 ? {
V: common_vendor.t(!caseValue3.name ? "请选择选项" : caseValue3.name),
W: common_vendor.p({
name: "arrow-right"
}),
X: common_vendor.o(($event) => openCaseLevel("3"))
} : {}, {
Y: freshKey.value,
Z: common_vendor.p({
current: level.value - 1,
direction: "column"
}),
aa: common_vendor.f(labelObj.list1, (item, k0, i0) => {
return {
a: "c10c040c-20-" + i0 + ",c10c040c-19",
b: common_vendor.p({
activeColor: "#3CC7C0 ",
label: item.label_name,
name: item.app_iden
}),
c: item.app_iden,
d: item.label_name != "热门话题"
};
}),
ab: common_vendor.o(groupChange1),
ac: common_vendor.o(($event) => caseValue1.value = $event),
ad: common_vendor.p({
name: "group1",
iconPlacement: "right",
placement: "column",
modelValue: caseValue1.value
}),
ae: level.value == 1,
af: common_vendor.f(labelObj.list2, (item, k0, i0) => {
return {
a: "c10c040c-22-" + i0 + ",c10c040c-21",
b: common_vendor.p({
activeColor: "#3CC7C0 ",
label: item.label_name,
name: item.app_iden
}),
c: item.app_iden
};
}),
ag: common_vendor.o(groupChange2),
ah: common_vendor.o(($event) => caseValue2.value = $event),
ai: common_vendor.p({
name: "group2",
iconPlacement: "right",
placement: "column",
modelValue: caseValue2.value
}),
aj: level.value == 2,
ak: common_vendor.f(labelObj.list3, (item, k0, i0) => {
return {
a: "c10c040c-24-" + i0 + ",c10c040c-23",
b: common_vendor.p({
activeColor: "#3CC7C0 ",
label: item.label_name,
name: item.app_iden
}),
c: item.app_iden
};
}),
al: common_vendor.o(groupChange3),
am: common_vendor.o(($event) => caseValue3.value = $event),
an: common_vendor.p({
name: "group3",
iconPlacement: "right",
placement: "column",
modelValue: caseValue3.value
}),
ao: level.value == 3,
ap: common_vendor.o(closeCase),
aq: common_vendor.p({
round: 10,
zIndex: "9",
closeOnClickOverlay: false,
show: showCase.value,
mode: "bottom"
})
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c10c040c"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/search/search.js.map