1252 lines
29 KiB
Vue
1252 lines
29 KiB
Vue
<template>
|
||
<view class="upage">
|
||
<z-paging
|
||
ref="paging"
|
||
inside-more
|
||
loading-more-no-more-text="咱也是有底线的!"
|
||
:auto-show-back-to-top="true"
|
||
v-model="dataList"
|
||
@query="queryList"
|
||
>
|
||
<template #top>
|
||
<navBarSearch
|
||
:searchWord="keyWord"
|
||
:navName="navName"
|
||
@changeWord="changeWord"
|
||
></navBarSearch>
|
||
<!-- <view class="bar"></view> -->
|
||
<view class="detail" v-if="showNum">
|
||
<view class="desc"
|
||
>检索到:<text class="red">{{ total }}个病例</text></view
|
||
>
|
||
<view class="desc" v-if="keyWord"
|
||
>检索词:<text class="red">{{ keyWord }}</text></view
|
||
>
|
||
</view>
|
||
<view class="bar"></view>
|
||
<view class="filterbox">
|
||
<!-- <view class="type" @click="swicthType">{{!isArticle?'文章':'视频'}}<up--image :src="switchImg" width="31rpx" height="31rpx"></up--image></view> -->
|
||
<view class="casesdown" :class="{active:label_iden}" @click="openCase" >筛选<up--image :src="caseImg" width="31rpx" height="31rpx"></up--image></view>
|
||
<up-dropdown class="u-dropdown" ref="uDropdownRef">
|
||
<up-dropdown-item :title="dropTitle">
|
||
<view class="dropcontent">
|
||
<up-radio-group
|
||
@change="changeDate"
|
||
v-model="orderFilter"
|
||
iconPlacement="right"
|
||
placement="column"
|
||
>
|
||
<view
|
||
class="column"
|
||
v-for="item in options"
|
||
:key="item.value"
|
||
:class="[orderFilter==item.value?'active':'']"
|
||
>
|
||
<up-radio
|
||
activeColor="#3CC7C0"
|
||
:label="item.label"
|
||
:name="item.value"
|
||
></up-radio>
|
||
</view>
|
||
</up-radio-group>
|
||
</view>
|
||
</up-dropdown-item>
|
||
</up-dropdown>
|
||
</view>
|
||
</template>
|
||
<view class="box">
|
||
<!-- <view class="bar"></view> -->
|
||
<view class="record">
|
||
<view class="list">
|
||
<view
|
||
class="cell"
|
||
v-for="(item) in dataList"
|
||
:key="item.exchange_id"
|
||
|
||
|
||
>
|
||
<view class="title ">
|
||
<view class="titlecon ellipsis-two-lines" @click="goDetail(item.exchange_id)">
|
||
{{
|
||
item.exchange_title
|
||
}}
|
||
</view>
|
||
<view v-if="isMine" class="dot" @click="openDeal(item.exchange_id,item.case_exchange_vote)">...</view>
|
||
</view>
|
||
<view class="doctor" @click="goDetail(item.exchange_id)">
|
||
<up--image
|
||
:src="item.avatar ? item.avatar : headImg"
|
||
width="46rpx"
|
||
height="46rpx"
|
||
radius="50%"
|
||
></up--image>
|
||
<view class="name"
|
||
>{{ item.user_name }}({{ item.hospital_name }})</view
|
||
>
|
||
</view>
|
||
<view class="content ellipsis-two-lines" @click="goDetail(item.exchange_id)"> {{ htmlToText(item.exchange_content) }} </view>
|
||
<view
|
||
class="imgbox"
|
||
@click="goDetail(item.exchange_id)"
|
||
v-if="
|
||
item.exchange_content_image &&
|
||
item.exchange_content_image.length > 0
|
||
"
|
||
>
|
||
<view
|
||
|
||
:key="unit"
|
||
class="imgcell"
|
||
v-for="unit in item.exchange_content_image.slice(0,3)"
|
||
>
|
||
<up--image
|
||
:src="unit"
|
||
radius="10"
|
||
width="220rpx"
|
||
height="220rpx"
|
||
>
|
||
<view slot="error" style="font-size: 24rpx">加载失败</view>
|
||
</up--image>
|
||
</view>
|
||
</view>
|
||
<view class="videocon" @click="goDetail(item.exchange_id)">
|
||
<view
|
||
class="imgbox"
|
||
@click="goDetail(item.exchange_id)"
|
||
v-if="
|
||
item.exchange_content_video &&
|
||
item.exchange_content_video.length > 0
|
||
"
|
||
>
|
||
<view class="videomask"></view>
|
||
<video
|
||
:key="index"
|
||
v-for="(videoCell, index) in item.exchange_content_video.slice(0,1)"
|
||
class="myVideo"
|
||
:src="videoCell"
|
||
@error="videoErrorCallback"
|
||
controls
|
||
></video>
|
||
</view>
|
||
</view>
|
||
<view class="tagbox" @click="goDetail(item.exchange_id)" v-if="item.exchange_label">
|
||
<view
|
||
class="tag"
|
||
v-for="cell in item.exchange_label"
|
||
:key="cell.exchange_label_id"
|
||
>{{ cell.label_name }}</view
|
||
>
|
||
</view>
|
||
<view class="deal" @click="goDetail(item.exchange_id)">
|
||
<view class="left">
|
||
<view class="eyebox item">
|
||
<up-icon name="eye" color="#4B5563" size="28rpx"></up-icon>
|
||
<view class="num">{{ item.read_num }}</view>
|
||
</view>
|
||
<view class="collect item" v-if="item.collect_num >0">
|
||
<up-icon
|
||
name="heart"
|
||
color="#4B5563"
|
||
size="28rpx"
|
||
></up-icon>
|
||
<view class="num">{{ item.collect_num }}</view>
|
||
</view>
|
||
<view class="chat item" v-if="item.comment_num >0">
|
||
<up-icon name="chat" color="#4B5563" size="28rpx"></up-icon>
|
||
<view class="num">{{ item.comment_num }}</view>
|
||
</view>
|
||
</view>
|
||
<view class="time">
|
||
<up-icon name="clock" color="#4B5563" size="28rpx"></up-icon>
|
||
<view class="num">{{ formatdate(item.push_date)}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</z-paging>
|
||
</view>
|
||
|
||
<!-- <tabBar :value="2"></tabBar> -->
|
||
<up-popup
|
||
:round="10"
|
||
zIndex="9"
|
||
:closeOnClickOverlay="false"
|
||
:show="showCase"
|
||
mode="bottom"
|
||
@close="closeCase"
|
||
>
|
||
<view class="votepop casepop">
|
||
<view class="titlebox">
|
||
<view class="left" @click="closeCase">取消</view>
|
||
|
||
<view class="right" @click="confirmCase">确定</view>
|
||
</view>
|
||
<view class="stepbox">
|
||
<up-steps :current="level-1" direction="column" :key="freshKey">
|
||
<up-steps-item >
|
||
<template v-slot:content>
|
||
<view class="slot-content" @click="openCaseLevel('1')">
|
||
|
||
<view class="left">{{!caseValue1.name?'请选择选项':caseValue1.name}}</view>
|
||
<u-icon name="arrow-right"></u-icon>
|
||
</view>
|
||
</template>
|
||
</up-steps-item>
|
||
<up-steps-item v-if="caseValue1.name && labelObj.list2.length>0">
|
||
<template v-slot:content>
|
||
<view class="slot-content" @click="openCaseLevel('2')">
|
||
<view class="left">{{!caseValue2.name?'请选择选项':caseValue2.name}}</view>
|
||
<u-icon name="arrow-right"></u-icon>
|
||
</view>
|
||
</template>
|
||
</up-steps-item>
|
||
<up-steps-item v-if="caseValue2.name && labelObj.list3.length>0">
|
||
<template v-slot:content>
|
||
<view class="slot-content" @click="openCaseLevel('3')">
|
||
<view class="left">{{!caseValue3.name?'请选择选项':caseValue3.name}}</view>
|
||
<u-icon name="arrow-right"></u-icon>
|
||
</view>
|
||
</template>
|
||
</up-steps-item>
|
||
</up-steps>
|
||
</view>
|
||
<scroll-view class="casecon" scroll-y="true">
|
||
<view v-show="level == 1" >
|
||
<up-radio-group
|
||
v-model="caseValue1.value"
|
||
name="group1"
|
||
iconPlacement="right"
|
||
placement="column"
|
||
@change="groupChange1"
|
||
>
|
||
<view
|
||
class="column"
|
||
v-for="item in labelObj.list1"
|
||
:key="item.app_iden"
|
||
v-show="item.label_name!='热门话题'"
|
||
>
|
||
<up-radio
|
||
activeColor="#3CC7C0 "
|
||
:label="item.label_name"
|
||
:name="item.app_iden"
|
||
></up-radio>
|
||
</view>
|
||
</up-radio-group>
|
||
</view>
|
||
<view v-show="level == 2" >
|
||
<up-radio-group
|
||
name="group2"
|
||
@change="groupChange2"
|
||
v-model="caseValue2.value"
|
||
iconPlacement="right"
|
||
placement="column"
|
||
>
|
||
<view
|
||
class="column"
|
||
v-for="item in labelObj.list2"
|
||
:key="item.app_iden"
|
||
>
|
||
<up-radio
|
||
activeColor="#3CC7C0 "
|
||
:label="item.label_name"
|
||
:name="item.app_iden"
|
||
></up-radio>
|
||
</view>
|
||
</up-radio-group>
|
||
</view>
|
||
<view v-show="level == 3" >
|
||
<up-radio-group
|
||
name="group3"
|
||
@change="groupChange3"
|
||
v-model="caseValue3.value"
|
||
iconPlacement="right"
|
||
placement="column"
|
||
>
|
||
<view
|
||
class="column"
|
||
v-for="item in labelObj.list3"
|
||
:key="item.app_iden"
|
||
>
|
||
<up-radio
|
||
activeColor="#3CC7C0 "
|
||
:label="item.label_name"
|
||
:name="item.app_iden"
|
||
></up-radio>
|
||
</view>
|
||
</up-radio-group>
|
||
</view>
|
||
</scroll-view>
|
||
</view>
|
||
</up-popup>
|
||
<!-- 底部操作 -->
|
||
<up-popup
|
||
:zIndex="60"
|
||
:overlayStyle="{ zIndex: 59 }"
|
||
|
||
:show="showDeal"
|
||
:round="10"
|
||
mode="bottom"
|
||
|
||
>
|
||
<view class="dealbox">
|
||
<view class="dealcell" @click="goEdit">编辑</view>
|
||
<view class="dealcell" @click="alertDel">删除</view>
|
||
<view class="bar"></view>
|
||
<view class="dealcell" @click="closeDealPop">取消</view>
|
||
</view>
|
||
</up-popup>
|
||
|
||
<up-overlay :show="showModal" mask-click-able>
|
||
<view class="zanboxpop">
|
||
<view class="zanwraper">
|
||
<view class="title">提示</view>
|
||
<view class="content"> 是否删除该交流病例? </view>
|
||
|
||
<view class="btnbox">
|
||
<view class="cancle" @click="showModal = false">取消</view>
|
||
<view class="ok" @click="confirmDel">确定</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</up-overlay>
|
||
</template>
|
||
|
||
<script setup>
|
||
import { ref,reactive} from "vue";
|
||
import navBar from "@/components/navBar/navBar.vue";
|
||
import tabBar from "@/components/tabBar/tabBar.vue";
|
||
import headImg from "@/static/headImg.png";
|
||
import caseImg from "@/static/caseIcon.png";
|
||
import dayjs from "dayjs";
|
||
import api from "@/api/api";
|
||
import navTo from "@/utils/navTo.js";
|
||
import { onLoad,onShow} from "@dcloudio/uni-app";
|
||
import list from "@/uni_modules/z-paging/components/z-paging/z-paging";
|
||
const user_id = ref("");
|
||
const showModal=ref(false);
|
||
const showDeal=ref(false);
|
||
const is_selected = ref(0);
|
||
const navName=ref('肝胆相照病例交流园地')
|
||
const isMine=ref(false)
|
||
const paging = ref(null);
|
||
const dataList = ref([]);
|
||
const total = ref(0);
|
||
const keyWord = ref("");
|
||
const vote=ref(null);
|
||
const showNum = ref(false);
|
||
const label_iden=ref('');
|
||
const dropTitle=ref('发布时间');
|
||
const orderFilter=ref('1')
|
||
const uDropdownRef=ref(null);
|
||
const dealId=ref('')
|
||
const options= ref([
|
||
{
|
||
label: "发布时间",
|
||
value: '1',
|
||
},
|
||
{
|
||
label: "互动更新时间",
|
||
value: '2',
|
||
},
|
||
{
|
||
label: "互动数",
|
||
value: '3',
|
||
},
|
||
]);
|
||
const isSearch=ref(true);
|
||
const order=reactive({
|
||
read_num:'',
|
||
push_date:'desc'
|
||
})
|
||
const showCase = ref(false);
|
||
const canOpenCase = ref(false);
|
||
const freshKey=ref(0);
|
||
const caseValue1 = reactive({
|
||
value:'',
|
||
name:'',
|
||
});
|
||
const caseValue2 = reactive({
|
||
value:'',
|
||
name:'',
|
||
});
|
||
const caseValue3 = reactive({
|
||
value:'',
|
||
name:'',
|
||
});
|
||
const level = ref(1);
|
||
const labelObj = 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.getCaseLabel({
|
||
pId:pid
|
||
}).then((res) => {
|
||
level.value = lev;
|
||
if (lev == 1) {
|
||
labelObj.list1 = res.data.data;
|
||
//label_iden.value = caseValue1.value;
|
||
|
||
} else if (lev == 2) {
|
||
labelObj.list2 = res.data.data;
|
||
if(res.data.data.length==0){
|
||
level.value = 1
|
||
}
|
||
//label_iden.value = caseValue2.value;
|
||
|
||
} else if (lev == 3) {
|
||
labelObj.list3 = res.data.data;
|
||
if(res.data.data.length==0){
|
||
level.value = 2
|
||
}
|
||
//label_iden.value = caseValue3.value;
|
||
}
|
||
|
||
});
|
||
};
|
||
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.list1=[];
|
||
labelObj.list2=[];
|
||
labelObj.list3=[];
|
||
}
|
||
const confirmCase = () => {
|
||
if (level.value == 1 && caseValue1.value == "") {
|
||
uni.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;
|
||
//cancelCase();
|
||
};
|
||
const closeCase = () => {
|
||
showCase.value = false;
|
||
};
|
||
const openDeal = (id,voteObj) => {
|
||
showDeal.value = true;
|
||
dealId.value=id;
|
||
vote.value=voteObj;
|
||
console.log(id)
|
||
};
|
||
const alertDel=()=>{
|
||
showDeal.value = false;
|
||
showModal.value = true
|
||
}
|
||
const goEdit=()=>{
|
||
showDeal.value = false;
|
||
if(vote.value && vote.value.is_have_voted!=1){
|
||
uni.showToast({
|
||
icon: "none",
|
||
title: "不可编辑",
|
||
})
|
||
return false;
|
||
}
|
||
|
||
navTo({
|
||
url:'/pages/publish/publish?exchange_id='+dealId.value
|
||
})
|
||
}
|
||
const htmlToText=(html)=>{
|
||
return html
|
||
.replace(/<[^>]*>/g, '') // 移除所有HTML标签
|
||
.replace(/ /gi, ' ') // 将HTML实体转换为字符
|
||
.replace(/<br\s*\/?>/gi, '\n').replace(/<img\s[^>]*>/gi, '') // 移除<img>标签及其内容
|
||
.replace(/<video[^>]*>[\s\S]*?/gi, ''); // 将换行符替换为实际的换行符
|
||
}
|
||
|
||
const confirmDel = () => {
|
||
//删除
|
||
api.delExchange(dealId.value).then((res) => {
|
||
uni.showToast({
|
||
title: "删除成功",
|
||
icon: "none",
|
||
duration: 2000,
|
||
});
|
||
});
|
||
let index=dataList.value.findIndex( item =>item.exchange_id=== dealId.value)
|
||
dataList.value.splice(index, 1);
|
||
showModal.value = false;
|
||
//paging.value.refresh();
|
||
};
|
||
|
||
const closeDealPop = () => {
|
||
showDeal.value = false;
|
||
};
|
||
|
||
|
||
const formatdate = (date) => {
|
||
return dayjs(date).format("YYYY-MM-DD");
|
||
};
|
||
onLoad((options) => {
|
||
if (options.keyWord) {
|
||
keyWord.value = options.keyWord;
|
||
}
|
||
if (options.userId) {
|
||
user_id.value = options.userId;
|
||
}
|
||
if(options.is_selected){
|
||
is_selected.value = options.is_selected;
|
||
navName.value="肝胆相照精选病例交流"
|
||
}
|
||
if(options.type=="mine"){
|
||
isMine.value=true;
|
||
}
|
||
if(options.from=="talkHome"){
|
||
showNum.value=true;
|
||
}
|
||
// if(options)「」
|
||
getCaseLabel(1,0)
|
||
});
|
||
onShow(()=>{
|
||
paging.value?.refresh();
|
||
})
|
||
const changeDate=(e)=>{
|
||
if(e==1){
|
||
order.push_date='desc';
|
||
order.comment_num='';
|
||
order.last_comment_time="";
|
||
dropTitle.value="发布时间"
|
||
}else if(e==2){
|
||
order.push_date='';
|
||
order.comment_num="";
|
||
order.last_comment_time="desc";
|
||
dropTitle.value="互动更新时间"
|
||
}else{
|
||
order.push_date='';
|
||
order.last_comment_time="";
|
||
order.comment_num="desc";
|
||
dropTitle.value="互动数"
|
||
}
|
||
orderFilter.value=e;
|
||
uDropdownRef.value.close();
|
||
paging.value.reload();
|
||
}
|
||
const videoErrorCallback = (e) => {
|
||
// uni.showModal({
|
||
// content: e.target.errMsg,
|
||
// showCancel: false,
|
||
// });
|
||
};
|
||
const changeWord = (val) => {
|
||
if (!val) return false;
|
||
showNum.value = true;
|
||
keyWord.value = val;
|
||
paging.value.reload();
|
||
};
|
||
const goDetail = (id) => {
|
||
navTo({
|
||
url: `/pages/detail/detail?id=${id}&type=exchange`,
|
||
});
|
||
};
|
||
const queryList = (pageNo, pageSize) => {
|
||
console.log(666666);
|
||
const params = {
|
||
page: pageNo,
|
||
page_size: pageSize,
|
||
};
|
||
searchList(params);
|
||
};
|
||
const searchList = async (params) => {
|
||
let searchForm = {
|
||
keyword: keyWord.value,
|
||
user_id: user_id.value,
|
||
label_iden:label_iden.value
|
||
};
|
||
if(!label_iden.value){
|
||
delete searchForm.label_iden
|
||
}
|
||
if(Number(is_selected.value)){
|
||
searchForm.is_selected=Number(is_selected.value)
|
||
}
|
||
if(!order.comment_num){
|
||
delete order.comment_num
|
||
}
|
||
if(!order.last_comment_time){
|
||
delete order.last_comment_time
|
||
}
|
||
if(!label_iden.value){
|
||
delete searchForm.label_iden
|
||
}
|
||
if(!order.push_date){
|
||
delete order.push_date
|
||
}
|
||
if(order.comment_num || order.push_date || order.last_comment_time){
|
||
searchForm.order=order
|
||
}
|
||
api.searchExchage({
|
||
...searchForm,
|
||
...params,
|
||
})
|
||
.then((res) => {
|
||
paging.value.complete(res.data.data.data);
|
||
total.value = res.data.data.total;
|
||
})
|
||
.catch((err) => {
|
||
paging.value.complete(false);
|
||
});
|
||
};
|
||
</script>
|
||
|
||
<style lang='scss' scoped>
|
||
.dropcontent{
|
||
padding-top: 40rpx;
|
||
padding-bottom: 20rpx;
|
||
background-color: #fff;
|
||
:deep(.u-radio){
|
||
margin-bottom: 6px!important;
|
||
margin-top: 16px!important;
|
||
}
|
||
.column {
|
||
padding: 0 30rpx;
|
||
border-top: 2rpx solid #e5e7eb;
|
||
:deep(.u-radio__text){
|
||
color: #333 !important;
|
||
}
|
||
}
|
||
.column.active{
|
||
:deep(.u-radio__text){
|
||
color: #3CC7C0 !important;
|
||
}
|
||
}
|
||
|
||
}
|
||
.stepbox{
|
||
padding:15rpx 30rpx;
|
||
border-bottom: 2rpx dotted #f3f4f6;
|
||
:deep(.u-steps-item__content){
|
||
margin-top: -5rpx!important;
|
||
}
|
||
.slot-content{
|
||
width:100%;
|
||
margin-bottom: 25rpx;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
display: flex;
|
||
}
|
||
}
|
||
.dealbox {
|
||
.dealcell {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
height: 112rpx;
|
||
font-size: 32rpx;
|
||
color: rgba(0, 0, 0, 0.9);
|
||
border-bottom: 2rpx solid #efefef;
|
||
}
|
||
}
|
||
.filterbox{
|
||
background-color: #fff;
|
||
display: flex;
|
||
height:128rpx;
|
||
align-items: center;
|
||
position: relative;
|
||
border-bottom: 2rpx solid #f3f4f6;
|
||
:deep(.u-dropdown__menu__item__text){
|
||
font-size: 14px!important;
|
||
color: #3CC7C0!important
|
||
}
|
||
.type{
|
||
color: #606266;
|
||
font-size:14px;
|
||
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;
|
||
}
|
||
}
|
||
.detail {
|
||
background: #f9f9f9;
|
||
padding: 12rpx 30rpx;
|
||
.desc {
|
||
font-size: 26rpx;
|
||
color: #4b5563;
|
||
line-height: 40rpx;
|
||
}
|
||
.red {
|
||
color: #ff0000;
|
||
}
|
||
}
|
||
.upage {
|
||
display: flex;
|
||
flex-direction: column;
|
||
height: calc(100vh - 100rpx);
|
||
:deep(.u-flex) {
|
||
display: flex;
|
||
flex-direction:row;
|
||
overflow: hidden;
|
||
|
||
}
|
||
:deep(.u-dropdown__menu){
|
||
|
||
background: #fff;
|
||
z-index:1;
|
||
margin-left: 160rpx;
|
||
|
||
}
|
||
:deep(.u-dropdown__menu__item){
|
||
|
||
height:74rpx;
|
||
padding:0 20rpx;
|
||
background: #F3F4F6;
|
||
border-radius: 15rpx;
|
||
flex:none;
|
||
margin-left: 30rpx;
|
||
|
||
}
|
||
}
|
||
|
||
.box {
|
||
background-color: #fff;
|
||
flex: 1;
|
||
padding-bottom: 30rpx;
|
||
overflow-y: scroll;
|
||
}
|
||
|
||
.myVideo {
|
||
width: 100%;
|
||
border-radius: 15rpx;
|
||
}
|
||
|
||
.deal {
|
||
padding-top: 20rpx;
|
||
display: flex;
|
||
color: #4b5563;
|
||
font-size: 24rpx;
|
||
justify-content: space-between;
|
||
|
||
.left {
|
||
display: flex;
|
||
align-items: center;
|
||
|
||
.item {
|
||
width: 100rpx;
|
||
}
|
||
}
|
||
|
||
.collect {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.eyebox,
|
||
.chat {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.time {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.num {
|
||
margin-left: 8rpx;
|
||
}
|
||
}
|
||
|
||
.tagbox {
|
||
margin-top: 24rpx;
|
||
display: flex;
|
||
|
||
.tag {
|
||
height: 54rpx;
|
||
padding: 0 28rpx;
|
||
background: #ecfaf9;
|
||
border-radius: 30rpx;
|
||
font-size: 27rpx;
|
||
color: #3cc7c0;
|
||
margin-right: 12rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
}
|
||
|
||
.doctor {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.record {
|
||
padding-top: 0rpx;
|
||
|
||
.list {
|
||
margin: 30rpx 30rpx;
|
||
|
||
.name {
|
||
padding: 20rpx 0 20rpx 15rpx;
|
||
font-size: 27rpx;
|
||
color: #333333;
|
||
}
|
||
|
||
.content {
|
||
font-size: 27rpx;
|
||
color: #666666;
|
||
line-height: 38rpx;
|
||
}
|
||
|
||
.imgbox {
|
||
display: flex;
|
||
margin-top: 24rpx;
|
||
position: relative;
|
||
.videomask{
|
||
position: absolute;
|
||
width:100%;
|
||
height:100%;
|
||
z-index:2;
|
||
}
|
||
.imgcell {
|
||
width: 220rpx;
|
||
height: 220rpx;
|
||
margin-right: 20rpx;
|
||
}
|
||
|
||
.imgcell:last-child {
|
||
margin-right: 0;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.record {
|
||
padding-top: 0rpx;
|
||
|
||
.list {
|
||
margin: 8rpx 0rpx 0;
|
||
|
||
.cell {
|
||
padding: 22rpx 30rpx;
|
||
// display: flex;
|
||
border-bottom: 2rpx solid #f3f4f6;
|
||
.circle {
|
||
margin-top: 15rpx;
|
||
width: 15rpx;
|
||
height: 15rpx;
|
||
background: #3cc7c0;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.title {
|
||
margin-left: 10rpx;
|
||
font-size: 32rpx;
|
||
color: #000000;
|
||
line-height: 46rpx;
|
||
word-break:break-all;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
.dot{
|
||
height: 40rpx;
|
||
display: flex;
|
||
line-height: 40rpx;
|
||
padding:0 14rpx;
|
||
align-items: center;
|
||
line-height: 40rpx;
|
||
}
|
||
|
||
.titlecon{
|
||
flex:1;
|
||
margin-right: 20rpx;
|
||
}
|
||
}
|
||
}
|
||
|
||
.cell:last-child {
|
||
border-bottom: none;
|
||
}
|
||
}
|
||
}
|
||
|
||
.titlebox {
|
||
margin: 0 30rpx;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
|
||
.more {
|
||
display: flex;
|
||
align-items: center;
|
||
|
||
.morename {
|
||
margin-right: 10rpx;
|
||
font-size: 28rpx;
|
||
color: #3cc7c0;
|
||
}
|
||
}
|
||
}
|
||
|
||
.bar {
|
||
height: 16rpx;
|
||
background: #f3f4f6;
|
||
}
|
||
|
||
.databox {
|
||
height: 162rpx;
|
||
background: #ffffff;
|
||
display: flex;
|
||
padding: 0 30rpx;
|
||
justify-content: space-between;
|
||
|
||
.cell {
|
||
flex: 1;
|
||
padding: 35rpx 0;
|
||
|
||
text-align: center;
|
||
|
||
.num {
|
||
font-size: 38rpx;
|
||
color: #3cc7c0;
|
||
}
|
||
|
||
.name {
|
||
margin-top: 18rpx;
|
||
font-size: 28rpx;
|
||
color: #4b5563;
|
||
}
|
||
}
|
||
}
|
||
.casesdown{
|
||
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;
|
||
}
|
||
.votepop {
|
||
.confirm {
|
||
margin: 39rpx 30rpx 0;
|
||
height: 92rpx;
|
||
background: #3cc7c0;
|
||
border-radius: 15rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
font-size: 31rpx;
|
||
color: #ffffff;
|
||
justify-content: center;
|
||
}
|
||
.del {
|
||
margin: 30rpx 30rpx 30rpx;
|
||
height: 92rpx;
|
||
background: #fff;
|
||
border-radius: 15rpx;
|
||
font-size: 31rpx;
|
||
color: #666666;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
.tips {
|
||
margin-top: 30rpx;
|
||
font-size: 27rpx;
|
||
color: #9ca3af;
|
||
line-height: 38rpx;
|
||
padding: 0 30rpx;
|
||
}
|
||
.add {
|
||
margin: 0 30rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
height: 92rpx;
|
||
justify-content: center;
|
||
background: #f5f5f5;
|
||
border-radius: 15rpx;
|
||
font-size: 31rpx;
|
||
color: #4b5563;
|
||
.desc {
|
||
margin-left: 10rpx;
|
||
}
|
||
}
|
||
.titlebox {
|
||
padding: 0 30rpx;
|
||
margin: 0!important;
|
||
height: 86rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
border-bottom: 2rpx solid #f3f4f6;
|
||
.left {
|
||
font-size: 31rpx;
|
||
color: #4b5563;
|
||
}
|
||
.right {
|
||
font-size: 31rpx;
|
||
color: #3cc7c0;
|
||
}
|
||
}
|
||
.votecon {
|
||
max-height: calc(100vh - 530rpx);
|
||
overflow-y: scroll;
|
||
.row {
|
||
display: flex;
|
||
align-items: center;
|
||
.iconbox {
|
||
margin-left: 15rpx;
|
||
align-items: center;
|
||
}
|
||
}
|
||
.titlebox {
|
||
border: none;
|
||
|
||
margin: 30rpx 0 20rpx!important;
|
||
.title {
|
||
font-size: 31rpx;
|
||
color: #111827;
|
||
}
|
||
.desc {
|
||
font-size: 27rpx;
|
||
color: #9ca3af;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
.casepop{
|
||
display: flex;
|
||
flex-direction: column;
|
||
max-height: calc(100vh - 400rpx);
|
||
.continue{
|
||
color: #2878ff !important;
|
||
}
|
||
}
|
||
.casecon {
|
||
flex:1;
|
||
max-height: calc(100vh - 800rpx);
|
||
overflow-y: scroll;
|
||
padding-top: 22rpx;
|
||
padding-bottom: 20rpx;
|
||
min-height: 350rpx;
|
||
:deep(.u-radio){
|
||
margin-bottom: 10px!important;
|
||
margin-top: 0px!important;
|
||
}
|
||
.column {
|
||
padding: 0 30rpx;
|
||
border-bottom: 2rpx solid #e5e7eb;
|
||
}
|
||
}
|
||
.zanboxpop {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
height: 100%;
|
||
.zanwraper {
|
||
width: 630rpx;
|
||
margin: 0 auto;
|
||
padding-bottom: 50rpx;
|
||
background: #f5f6f9;
|
||
border-radius: 16rpx;
|
||
.title {
|
||
margin-top: 48rpx;
|
||
text-align: center;
|
||
font-weight: 500;
|
||
font-size: 36rpx;
|
||
color: rgba(0, 0, 0, 0.85);
|
||
}
|
||
.content {
|
||
padding: 30rpx 0;
|
||
background: #f5f6f9;
|
||
text-align: center;
|
||
:deep(.imgstyle){
|
||
max-width: 100%!important;
|
||
}
|
||
:deep(._block){
|
||
text-align: left!important;
|
||
}
|
||
}
|
||
.count {
|
||
margin-top: 24rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
text-align: center;
|
||
justify-content: center;
|
||
font-weight: 400;
|
||
font-size: 28rpx;
|
||
color: rgba(0, 0, 0, 0.65);
|
||
.num {
|
||
color: #ff0000;
|
||
font-size: 32rpx;
|
||
}
|
||
.earn {
|
||
font-size: 32rpx;
|
||
color: #3cc7c0;
|
||
}
|
||
}
|
||
.countbox {
|
||
display: flex;
|
||
width: 100%;
|
||
margin: 30rpx 0px 40rpx;
|
||
padding: 0 40rpx;
|
||
justify-content: center;
|
||
box-sizing: border-box;
|
||
.minus {
|
||
flex-shrink: 0;
|
||
margin-left: 10rp;
|
||
width: 90rpx;
|
||
height: 90rpx;
|
||
font-size: 60rpx;
|
||
color: #333;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
background: #ffffff;
|
||
border-radius: 12rpx;
|
||
border: 2rpx solid #e9e9e9;
|
||
}
|
||
.add {
|
||
flex-shrink: 0;
|
||
width: 90rpx;
|
||
margin-left: 10rpx;
|
||
height: 90rpx;
|
||
font-size: 60rpx;
|
||
color: #333;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
color: #fff;
|
||
background: #3cc7c0;
|
||
border-radius: 12rpx;
|
||
border: 2rpx solid #3cc7c0;
|
||
}
|
||
:deep(.u-input__content__field-wrapper__field) {
|
||
height: 60rpx;
|
||
|
||
font-size: 34rpx !important;
|
||
text-align: center !important;
|
||
}
|
||
:deep(.u-input) {
|
||
background: #f2f2f2;
|
||
width: 200rpx !important;
|
||
flex: none;
|
||
}
|
||
:deep(.u-input--radius) {
|
||
border-radius: 24rrpx;
|
||
}
|
||
}
|
||
.btnbox {
|
||
margin: 0px 40rpx 0px;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
.cancle {
|
||
color: rgba(0, 0, 0, 0.3);
|
||
width: 256rpx;
|
||
height: 88rpx;
|
||
background: #f5f6f9;
|
||
border-radius: 25px;
|
||
border: 2rpx solid rgba(0, 0, 0, 0.15);
|
||
font-weight: 500;
|
||
font-size: 32rpx;
|
||
color: rgba(0, 0, 0, 0.85);
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
}
|
||
.ok {
|
||
color: #fff;
|
||
width: 256rpx;
|
||
height: 88rpx;
|
||
background: #3cc7c0;
|
||
border-radius: 25px;
|
||
border: 2rpx solid #3cc7c0;
|
||
font-weight: 500;
|
||
font-size: 32rpx;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style> |