This commit is contained in:
zoujiandong
2025-07-24 08:57:22 +08:00
parent 9b00f8a04b
commit c758477084
30 changed files with 1302 additions and 371 deletions
+331 -54
View File
@@ -2,26 +2,40 @@
const common_vendor = require("../../common/vendor.js");
const api_api = require("../../api/api.js");
const utils_navTo = require("../../utils/navTo.js");
const common_assets = require("../../common/assets.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");
(_easycom_up_dropdown_item2 + _easycom_up_dropdown2 + _easycom_up_icon2 + _easycom_z_paging2)();
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_dropdown_item + _easycom_up_dropdown + _easycom_up_icon + _easycom_z_paging)();
(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: "videoList",
setup(__props) {
const paging = common_vendor.ref(null);
const uDropdownRef = common_vendor.ref(null);
const dataList = common_vendor.ref([]);
const total = common_vendor.ref(0);
const keyWord = common_vendor.ref("");
@@ -33,21 +47,151 @@ const _sfc_main = {
const numInfo = common_vendor.reactive({});
const searchInfo = common_vendor.reactive({});
const navName = common_vendor.ref("视频临床病例库");
const dropTitle = common_vendor.ref("发布时间");
const orderFilter = common_vendor.ref("1");
const uDropdownRef = common_vendor.ref(null);
const label_iden = common_vendor.ref(null);
const options = common_vendor.ref([
{
label: "正序",
value: "asc"
label: "发布时间",
value: "1"
},
{
label: "倒序",
value: "desc"
label: "阅读次数",
value: "2"
}
]);
const isSearch = common_vendor.ref(false);
const order = common_vendor.reactive({
read_num: "",
push_date: ""
push_date: "desc"
});
const showCase = common_vendor.ref(false);
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 cancelCase = () => {
showCase.value = false;
level.value = 1;
caseValue1.name = "";
caseValue1.value = "";
caseValue2.name = "";
caseValue2.value = "";
caseValue3.name = "";
caseValue3.value = "";
labelObj.list2 = [];
labelObj.list3 = [];
};
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;
@@ -79,27 +223,32 @@ const _sfc_main = {
navName.value = hospital_name.value + "临床病例库";
getStaticDoctor(hospital_id.value);
}
getCaseLabel(1, 0);
});
common_vendor.onShow(() => {
var _a;
(_a = paging.value) == null ? void 0 : _a.refresh();
});
const changeDate = (e) => {
common_vendor.index.__f__("log", "at pages/videoList/videoList.vue:159", e);
order.read_num = "";
paging.value.reload();
};
const changeRead = (e) => {
common_vendor.index.__f__("log", "at pages/videoList/videoList.vue:164", e);
order.push_date = "";
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) => {
common_vendor.index.__f__("log", "at pages/videoList/videoList.vue:172", 11111);
common_vendor.index.__f__("log", "at pages/videoList/videoList.vue:173", id);
common_vendor.index.__f__("log", "at pages/videoList/videoList.vue:452", 11111);
common_vendor.index.__f__("log", "at pages/videoList/videoList.vue:453", id);
let type = isArticle.value ? "article" : "video";
utils_navTo.navTo({
url: `/pages/detail/detail?id=${id}&type=${type}`
@@ -115,8 +264,12 @@ const _sfc_main = {
let searchForm = {
keyword: keyWord.value,
hospital_id: hospital_id.value,
doctor_id: doctor_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;
}
@@ -145,8 +298,12 @@ const _sfc_main = {
let searchForm = {
keyword: keyWord.value,
hospital_id: hospital_id.value,
doctor_id: doctor_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;
}
@@ -172,7 +329,7 @@ const _sfc_main = {
});
};
const queryList = (pageNo, pageSize) => {
common_vendor.index.__f__("log", "at pages/videoList/videoList.vue:248", 666666);
common_vendor.index.__f__("log", "at pages/videoList/videoList.vue:536", 666666);
const params = {
page: pageNo,
page_size: pageSize
@@ -199,25 +356,46 @@ const _sfc_main = {
} : {
h: common_vendor.t(numInfo.video_read_num)
}, {
i: common_vendor.o(changeDate),
j: common_vendor.o(($event) => order.push_date = $event),
k: common_vendor.p({
title: "发布时间",
options: options.value,
modelValue: order.push_date
i: isSearch.value
}, isSearch.value ? common_vendor.e({
j: common_vendor.t(searchInfo.search_video_num),
k: keyWord.value
}, keyWord.value ? {
l: common_vendor.t(keyWord.value)
} : {}) : {}, {
m: common_vendor.p({
src: common_vendor.unref(common_assets.caseImg),
width: "31rpx",
height: "31rpx"
}),
l: common_vendor.o(changeRead),
m: common_vendor.o(($event) => order.read_num = $event),
n: common_vendor.p({
title: "阅读量",
options: options.value,
modelValue: order.read_num
n: common_vendor.o(openCase),
o: common_vendor.f(options.value, (item, k0, i0) => {
return {
a: "acc011bc-6-" + i0 + ",acc011bc-5",
b: common_vendor.p({
activeColor: "#3CC7C0",
label: item.label,
name: item.value
}),
c: item.value,
d: common_vendor.n(orderFilter.value == item.value ? "active" : "")
};
}),
o: common_vendor.sr(uDropdownRef, "acc011bc-2,acc011bc-0", {
p: common_vendor.o(changeDate),
q: common_vendor.o(($event) => orderFilter.value = $event),
r: common_vendor.p({
iconPlacement: "right",
placement: "column",
modelValue: orderFilter.value
}),
s: common_vendor.p({
title: dropTitle.value
}),
t: common_vendor.sr(uDropdownRef, "acc011bc-3,acc011bc-0", {
"k": "uDropdownRef"
}),
p: common_vendor.f(dataList.value, (item, index, i0) => {
return {
v: 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 {
@@ -225,41 +403,140 @@ const _sfc_main = {
b: tag.author_id
};
}),
c: "acc011bc-5-" + i0 + ",acc011bc-0",
c: "acc011bc-7-" + i0 + ",acc011bc-0",
d: common_vendor.t(item.read_num),
e: "acc011bc-6-" + i0 + ",acc011bc-0",
f: common_vendor.t(item.collect_num),
g: "acc011bc-7-" + i0 + ",acc011bc-0",
h: common_vendor.t(formatdate(item.push_date)),
i: index,
j: common_vendor.o(($event) => isArticle.value ? goDetail(item.article_id) : goDetail(item.video_id), index)
};
e: item.collect_num > 0
}, item.collect_num > 0 ? {
f: "acc011bc-8-" + i0 + ",acc011bc-0",
g: common_vendor.p({
name: "heart",
color: "#6B7280",
size: "28rpx"
}),
h: common_vendor.t(item.collect_num)
} : {}, {
i: "acc011bc-9-" + i0 + ",acc011bc-0",
j: common_vendor.t(formatdate(item.push_date)),
k: index,
l: common_vendor.o(($event) => isArticle.value ? goDetail(item.article_id) : goDetail(item.video_id), index)
});
}),
q: common_vendor.p({
w: common_vendor.p({
name: "eye",
color: "#6B7280",
size: "28rpx"
}),
r: common_vendor.p({
name: "heart",
color: "#6B7280",
size: "28rpx"
}),
s: common_vendor.p({
x: common_vendor.p({
name: "clock",
color: "#6B7280",
size: "28rpx"
}),
t: common_vendor.sr(paging, "acc011bc-0", {
y: common_vendor.sr(paging, "acc011bc-0", {
"k": "paging"
}),
v: common_vendor.o(queryList),
w: common_vendor.o(($event) => dataList.value = $event),
x: common_vendor.p({
z: common_vendor.o(queryList),
A: common_vendor.o(($event) => dataList.value = $event),
B: common_vendor.p({
["inside-more"]: true,
["loading-more-no-more-text"]: "咱也是有底线的!",
["auto-show-back-to-top"]: true,
modelValue: dataList.value
}),
C: common_vendor.o(cancelCase),
D: common_vendor.o(confirmCase),
E: common_vendor.t(!caseValue1.name ? "请选择选项" : caseValue1.name),
F: common_vendor.p({
name: "arrow-right"
}),
G: common_vendor.o(($event) => openCaseLevel("1")),
H: caseValue1.name && labelObj.list2.length > 0
}, caseValue1.name && labelObj.list2.length > 0 ? {
I: common_vendor.t(!caseValue2.name ? "请选择选项" : caseValue2.name),
J: common_vendor.p({
name: "arrow-right"
}),
K: common_vendor.o(($event) => openCaseLevel("2"))
} : {}, {
L: caseValue2.name && labelObj.list3.length > 0
}, caseValue2.name && labelObj.list3.length > 0 ? {
M: common_vendor.t(!caseValue3.name ? "请选择选项" : caseValue3.name),
N: common_vendor.p({
name: "arrow-right"
}),
O: common_vendor.o(($event) => openCaseLevel("3"))
} : {}, {
P: _ctx.freshKey,
Q: common_vendor.p({
current: level.value - 1,
direction: "column"
}),
R: common_vendor.f(labelObj.list1, (item, k0, i0) => {
return {
a: "acc011bc-19-" + i0 + ",acc011bc-18",
b: common_vendor.p({
activeColor: "#3CC7C0 ",
label: item.label_name,
name: item.app_iden
}),
c: item.app_iden
};
}),
S: common_vendor.o(groupChange1),
T: common_vendor.o(($event) => caseValue1.value = $event),
U: common_vendor.p({
name: "group1",
iconPlacement: "right",
placement: "column",
modelValue: caseValue1.value
}),
V: level.value == 1,
W: common_vendor.f(labelObj.list2, (item, k0, i0) => {
return {
a: "acc011bc-21-" + i0 + ",acc011bc-20",
b: common_vendor.p({
activeColor: "#3CC7C0 ",
label: item.label_name,
name: item.app_iden
}),
c: item.app_iden
};
}),
X: common_vendor.o(groupChange2),
Y: common_vendor.o(($event) => caseValue2.value = $event),
Z: common_vendor.p({
name: "group2",
iconPlacement: "right",
placement: "column",
modelValue: caseValue2.value
}),
aa: level.value == 2,
ab: common_vendor.f(labelObj.list3, (item, k0, i0) => {
return {
a: "acc011bc-23-" + i0 + ",acc011bc-22",
b: common_vendor.p({
activeColor: "#3CC7C0 ",
label: item.label_name,
name: item.app_iden
}),
c: item.app_iden
};
}),
ac: common_vendor.o(groupChange3),
ad: common_vendor.o(($event) => caseValue3.value = $event),
ae: common_vendor.p({
name: "group3",
iconPlacement: "right",
placement: "column",
modelValue: caseValue3.value
}),
af: level.value == 3,
ag: common_vendor.o(closeCase),
ah: common_vendor.p({
round: 10,
zIndex: "9",
closeOnClickOverlay: false,
show: showCase.value,
mode: "bottom"
})
});
};
@@ -2,10 +2,17 @@
"navigationBarTitleText": "肝胆相照临床病例库",
"navigationStyle": "custom",
"usingComponents": {
"up--image": "../../node-modules/uview-plus/components/u--image/u--image",
"up-radio": "../../node-modules/uview-plus/components/u-radio/u-radio",
"up-radio-group": "../../node-modules/uview-plus/components/u-radio-group/u-radio-group",
"up-dropdown-item": "../../node-modules/uview-plus/components/u-dropdown-item/u-dropdown-item",
"up-dropdown": "../../node-modules/uview-plus/components/u-dropdown/u-dropdown",
"up-icon": "../../node-modules/uview-plus/components/u-icon/u-icon",
"z-paging": "../../uni_modules/z-paging/components/z-paging/z-paging",
"u-icon": "../../node-modules/uview-plus/components/u-icon/u-icon",
"up-steps-item": "../../node-modules/uview-plus/components/u-steps-item/u-steps-item",
"up-steps": "../../node-modules/uview-plus/components/u-steps/u-steps",
"up-popup": "../../node-modules/uview-plus/components/u-popup/u-popup",
"nav-bar-search": "../../components/navBarSearch/navBarSearch"
}
}
File diff suppressed because one or more lines are too long
+157 -1
View File
@@ -23,6 +23,39 @@
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.dropcontent.data-v-acc011bc {
padding-top: 40rpx;
padding-bottom: 20rpx;
background-color: #fff;
}
.dropcontent.data-v-acc011bc .u-radio {
margin-bottom: 6px !important;
margin-top: 16px !important;
}
.dropcontent .column.data-v-acc011bc {
padding: 0 30rpx;
border-top: 2rpx solid #e5e7eb;
}
.dropcontent .column.data-v-acc011bc .u-radio__text {
color: #333 !important;
}
.dropcontent .column.active.data-v-acc011bc .u-radio__text {
color: #3CC7C0 !important;
}
.stepbox.data-v-acc011bc {
padding: 15rpx 30rpx;
border-bottom: 2rpx dotted #f3f4f6;
}
.stepbox.data-v-acc011bc .u-steps-item__content {
margin-top: -5rpx !important;
}
.stepbox .slot-content.data-v-acc011bc {
width: 100%;
margin-bottom: 25rpx;
justify-content: space-between;
align-items: center;
display: flex;
}
.bar.data-v-acc011bc {
width: 100%;
background: #f9fafb;
@@ -58,6 +91,22 @@
}
.filterbox.data-v-acc011bc .u-dropdown__menu__item__text {
font-size: 14px !important;
color: #3c9cff !important;
}
.filterbox .casesdown.data-v-acc011bc {
font-size: 14px;
color: #606266;
position: absolute;
left: 30rpx;
top: 24rpx;
display: flex;
justify-content: center;
align-items: center;
background: #F3F4F6;
border-radius: 15rpx;
height: 74rpx;
padding: 0 25rpx;
z-index: 2;
}
.filterbox .type.data-v-acc011bc {
color: #606266;
@@ -82,7 +131,7 @@
.u-page.data-v-acc011bc .u-dropdown__menu {
background: #fff;
z-index: 1;
margin-left: 0rpx;
margin-left: 165rpx;
}
.u-page.data-v-acc011bc .u-dropdown__menu__item {
height: 74rpx;
@@ -156,4 +205,111 @@
}
.detail .red.data-v-acc011bc {
color: #FF0000;
}
.votepop .confirm.data-v-acc011bc {
margin: 39rpx 30rpx 0;
height: 92rpx;
background: #3cc7c0;
border-radius: 15rpx;
display: flex;
align-items: center;
font-size: 31rpx;
color: #ffffff;
justify-content: center;
}
.votepop .del.data-v-acc011bc {
margin: 30rpx 30rpx 30rpx;
height: 92rpx;
background: #fff;
border-radius: 15rpx;
font-size: 31rpx;
color: #666666;
display: flex;
align-items: center;
justify-content: center;
}
.votepop .tips.data-v-acc011bc {
margin-top: 30rpx;
font-size: 27rpx;
color: #9ca3af;
line-height: 38rpx;
padding: 0 30rpx;
}
.votepop .add.data-v-acc011bc {
margin: 0 30rpx;
display: flex;
align-items: center;
height: 92rpx;
justify-content: center;
background: #f5f5f5;
border-radius: 15rpx;
font-size: 31rpx;
color: #4b5563;
}
.votepop .add .desc.data-v-acc011bc {
margin-left: 10rpx;
}
.votepop .titlebox.data-v-acc011bc {
padding: 0 30rpx;
height: 86rpx;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 2rpx solid #f3f4f6;
}
.votepop .titlebox .left.data-v-acc011bc {
font-size: 31rpx;
color: #4b5563;
}
.votepop .titlebox .right.data-v-acc011bc {
font-size: 31rpx;
color: #3cc7c0;
}
.votepop .votecon.data-v-acc011bc {
max-height: calc(100vh - 530rpx);
overflow-y: scroll;
}
.votepop .votecon .row.data-v-acc011bc {
display: flex;
align-items: center;
}
.votepop .votecon .row .iconbox.data-v-acc011bc {
margin-left: 15rpx;
align-items: center;
}
.votepop .votecon .titlebox.data-v-acc011bc {
border: none;
margin: 30rpx 0 20rpx;
}
.votepop .votecon .titlebox .title.data-v-acc011bc {
font-size: 31rpx;
color: #111827;
}
.votepop .votecon .titlebox .desc.data-v-acc011bc {
font-size: 27rpx;
color: #9ca3af;
}
.casepop.data-v-acc011bc {
display: flex;
flex-direction: column;
max-height: calc(100vh - 400rpx);
}
.casepop .continue.data-v-acc011bc {
color: #2878ff !important;
}
.casecon.data-v-acc011bc {
flex: 1;
max-height: calc(100vh - 800rpx);
overflow-y: scroll;
padding-top: 22rpx;
padding-bottom: 20rpx;
min-height: 350rpx;
}
.casecon.data-v-acc011bc .u-radio {
margin-bottom: 10px !important;
margin-top: 0px !important;
}
.casecon .column.data-v-acc011bc {
padding: 0 30rpx;
border-bottom: 2rpx solid #e5e7eb;
}