|
@@ -24,7 +24,8 @@ const showCleanFilterBox=computed(()=>{
|
|
|
listState.ClassifyNameFirst||
|
|
|
listState.EndDate||
|
|
|
listState.Frequency||
|
|
|
- listState.MsgIsSend
|
|
|
+ listState.MsgIsSend||
|
|
|
+ listState.publishStatus
|
|
|
) return true
|
|
|
})
|
|
|
const isClickClose=ref(false)//是否点击过关闭一键清空模块
|
|
@@ -35,6 +36,7 @@ function handleCleanFilter(){
|
|
|
listState.Frequency=''
|
|
|
listState.StartDate=''
|
|
|
listState.EndDate=''
|
|
|
+ listState.publishStatus=''
|
|
|
refreshList()
|
|
|
}
|
|
|
|
|
@@ -43,6 +45,7 @@ const showClassify=ref(false)
|
|
|
|
|
|
|
|
|
const listState = reactive({
|
|
|
+ publishStatus:'',
|
|
|
MsgIsSend:'',
|
|
|
Frequency:'',
|
|
|
ClassifyNameFirst:'',
|
|
@@ -64,7 +67,9 @@ async function getList(){
|
|
|
ClassifyNameFirst:listState.ClassifyNameFirst,
|
|
|
ClassifyNameSecond:listState.ClassifyNameSecond,
|
|
|
Frequency:listState.Frequency,
|
|
|
- EmailState:listState.MsgIsSend
|
|
|
+ EmailState:listState.MsgIsSend,
|
|
|
+ TimeType:dateType.value===1?'publish_time':'modify_time',
|
|
|
+ State:listState.publishStatus
|
|
|
})
|
|
|
if(res.Ret===200){
|
|
|
listState.loading=false
|
|
@@ -111,15 +116,23 @@ function handleReportDel(item){
|
|
|
|
|
|
// 发布报告
|
|
|
async function handleReportPublish(item){
|
|
|
- apiReportEn.reportPublish({
|
|
|
- ReportIds:item.Id.toString()
|
|
|
- }).then(res=>{
|
|
|
- if(res.Ret===200){
|
|
|
- showToast('发布成功')
|
|
|
- showReportItemOpt.value=false
|
|
|
- refreshList()
|
|
|
- }
|
|
|
+ console.log(item);
|
|
|
+ showDialog({
|
|
|
+ title: '提示',
|
|
|
+ message: item.PrePublishTime?'该报告已设置定时发布,是否变更为立即发布?':`是否确定立即发布报告?`,
|
|
|
+ showCancelButton:true
|
|
|
+ }).then(()=>{
|
|
|
+ apiReportEn.reportPublish({
|
|
|
+ ReportIds:item.Id.toString()
|
|
|
+ }).then(res=>{
|
|
|
+ if(res.Ret===200){
|
|
|
+ showToast('发布成功')
|
|
|
+ showReportItemOpt.value=false
|
|
|
+ refreshList()
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
+
|
|
|
}
|
|
|
|
|
|
// 取消发布
|
|
@@ -142,6 +155,7 @@ function handleReportPublishCancle(item){
|
|
|
const calendarMinDate=new Date(2010,0,1)
|
|
|
const showCalendar=ref(false)
|
|
|
const calendarIns=ref(null)
|
|
|
+const dateType=ref(1)//1发布时间 2更新时间
|
|
|
function handleCalendarChange(e){
|
|
|
listState.StartDate=moment(e[0]).format('YYYY-MM-DD')
|
|
|
listState.EndDate=moment(e[1]).format('YYYY-MM-DD')
|
|
@@ -190,9 +204,11 @@ function onLongPressItem(e){
|
|
|
// 更多操作
|
|
|
const frequencyDropMenuIns=ref(null)
|
|
|
const statusDropMenuIns=ref(null)
|
|
|
+const publishStatusDropMenuIns=ref(null)
|
|
|
const showMoreFilter=ref(false)
|
|
|
const temFrequencyVal=ref('')
|
|
|
const temMsgIsSendVal=ref('')
|
|
|
+const temPublishStatusVal=ref('')
|
|
|
const frequencyOpt=[
|
|
|
{
|
|
|
label:'年度',
|
|
@@ -237,6 +253,16 @@ const reportStatusOpt=[
|
|
|
value:1
|
|
|
}
|
|
|
]
|
|
|
+const publishStatusOpt=[
|
|
|
+ {
|
|
|
+ label:'已发布',
|
|
|
+ value:2
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label:'未发布',
|
|
|
+ value:1
|
|
|
+ }
|
|
|
+]
|
|
|
function handleSelectReportStatus(item){
|
|
|
if(temMsgIsSendVal.value==item.value){
|
|
|
temMsgIsSendVal.value=''
|
|
@@ -251,6 +277,13 @@ function handleSelectFrequency(item){
|
|
|
temFrequencyVal.value=item.value
|
|
|
}
|
|
|
}
|
|
|
+function handleSelectReportPublishStatus(item){
|
|
|
+ if(temPublishStatusVal.value==item.value){
|
|
|
+ temPublishStatusVal.value=''
|
|
|
+ }else{
|
|
|
+ temPublishStatusVal.value=item.value
|
|
|
+ }
|
|
|
+}
|
|
|
function handleShowFilter(){
|
|
|
temFrequencyVal.value=listState.Frequency
|
|
|
temMsgIsSendVal.value=listState.MsgIsSend
|
|
@@ -271,6 +304,11 @@ function handleConfirmStatus(){
|
|
|
refreshList()
|
|
|
showMoreFilter.value=false
|
|
|
}
|
|
|
+function handleConfirmPublishStatus(){
|
|
|
+ listState.publishStatus=temPublishStatusVal.value
|
|
|
+ refreshList()
|
|
|
+ showMoreFilter.value=false
|
|
|
+}
|
|
|
|
|
|
function goSearch(){
|
|
|
// 删除报告搜索页的缓存
|
|
@@ -384,7 +422,7 @@ function handleGoEmailLog(e){
|
|
|
<path d="M12.7528 34.0668C12.7528 34.3535 12.8093 34.6375 12.919 34.9024C13.0288 35.1674 13.1896 35.4081 13.3924 35.6109C13.5952 35.8136 13.8359 35.9745 14.1008 36.0842C14.3658 36.194 14.6497 36.2505 14.9365 36.2505C15.2233 36.2505 15.5072 36.194 15.7722 36.0842C16.0371 35.9745 16.2778 35.8136 16.4806 35.6109C16.6834 35.4081 16.8442 35.1674 16.954 34.9024C17.0637 34.6375 17.1202 34.3535 17.1202 34.0668C17.1202 33.78 17.0637 33.496 16.954 33.2311C16.8442 32.9662 16.6834 32.7254 16.4806 32.5226C16.2778 32.3199 16.0371 32.159 15.7722 32.0493C15.5072 31.9395 15.2233 31.8831 14.9365 31.8831C14.6497 31.8831 14.3658 31.9395 14.1008 32.0493C13.8359 32.159 13.5952 32.3199 13.3924 32.5226C13.1896 32.7254 13.0288 32.9662 12.919 33.2311C12.8093 33.496 12.7528 33.78 12.7528 34.0668Z" fill="currentColor" stroke="currentColor" stroke-width="0.5"/>
|
|
|
</svg>
|
|
|
</div>
|
|
|
- <div :class="['menu-icon',showMoreFilter||listState.Frequency||listState.MsgIsSend?'active':'']" @click="handleShowFilter">
|
|
|
+ <div :class="['menu-icon',showMoreFilter||listState.Frequency||listState.MsgIsSend||listState.publishStatus?'active':'']" @click="handleShowFilter">
|
|
|
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
|
<path d="M30.283 23.977L40.824 9.5685C41.3719 8.81954 41.6002 7.88381 41.459 6.96667C41.3177 6.04952 40.8184 5.22589 40.0705 4.6765C39.4715 4.23699 38.7479 4 38.005 4H9.995C8.065 4 6.5 5.567 6.5 7.5C6.5 8.244 6.7365 8.9685 7.1755 9.5685L17.717 23.977V42.5C17.717 43.3285 18.3875 44 19.215 44C19.6125 43.9996 19.9935 43.8414 20.2743 43.5601C20.5552 43.2788 20.7128 42.8975 20.7125 42.5V23.486C20.7125 23.1675 20.611 22.857 20.423 22.5995L9.592 7.7955C9.53761 7.72096 9.50489 7.63283 9.49745 7.54085C9.49001 7.44887 9.50814 7.35663 9.54984 7.27431C9.59155 7.192 9.65519 7.12281 9.73375 7.0744C9.81231 7.02599 9.90272 7.00024 9.995 7H38.005C38.0973 7.00015 38.1878 7.02586 38.2664 7.07427C38.345 7.12268 38.4086 7.1919 38.4503 7.27426C38.492 7.35663 38.51 7.44892 38.5025 7.54092C38.4949 7.63292 38.4621 7.72104 38.4075 7.7955L27.5765 22.5995C27.3884 22.8568 27.287 23.1673 27.287 23.486V38.271C27.287 39.0995 27.9575 39.771 28.785 39.771C28.9819 39.7709 29.1768 39.732 29.3586 39.6565C29.5404 39.5811 29.7056 39.4705 29.8447 39.3312C29.9838 39.192 30.0941 39.0266 30.1693 38.8447C30.2445 38.6628 30.2831 38.4678 30.283 38.271V23.977Z" fill="currentColor"/>
|
|
|
</svg>
|
|
@@ -409,7 +447,7 @@ function handleGoEmailLog(e){
|
|
|
</div>
|
|
|
</div>
|
|
|
</van-dropdown-item>
|
|
|
- <van-dropdown-item title="报告状态" ref="statusDropMenuIns">
|
|
|
+ <van-dropdown-item title="群发状态" ref="statusDropMenuIns">
|
|
|
<div class="report-status-box">
|
|
|
<ul>
|
|
|
<li
|
|
@@ -426,6 +464,23 @@ function handleGoEmailLog(e){
|
|
|
</div>
|
|
|
</div>
|
|
|
</van-dropdown-item>
|
|
|
+ <van-dropdown-item title="发布状态" ref="publishStatusDropMenuIns">
|
|
|
+ <div class="report-status-box">
|
|
|
+ <ul>
|
|
|
+ <li
|
|
|
+ :class="['status-item',temPublishStatusVal===item.value?'active':'']"
|
|
|
+ v-for="item in publishStatusOpt"
|
|
|
+ :key="item.value"
|
|
|
+ @click="handleSelectReportPublishStatus(item)"
|
|
|
+ >{{item.label}}</li>
|
|
|
+ </ul>
|
|
|
+
|
|
|
+ <div class="bot-btn-box">
|
|
|
+ <div class="btn cancel-btn" @click="showMoreFilter=false">取消</div>
|
|
|
+ <div class="btn confirm-btn" @click="handleConfirmPublishStatus">确定</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </van-dropdown-item>
|
|
|
</van-dropdown-menu>
|
|
|
</template>
|
|
|
</div>
|
|
@@ -444,12 +499,19 @@ function handleGoEmailLog(e){
|
|
|
@click="goDetail(item)"
|
|
|
v-longpress="{ handler: onLongPressItem, args: item, duration: 1000 }"
|
|
|
>
|
|
|
- <h2 :class="['van-ellipsis title',item.Title.startsWith('【')?'inline-title':'']">{{item.Title}}</h2>
|
|
|
+ <h2 :class="['van-ellipsis title',item.Title.startsWith('【')?'inline-title':'']">
|
|
|
+ <span>{{item.Title}}</span>
|
|
|
+ <span v-if="item.CreateTime">({{item.CreateTime.substring(5,7)}}{{item.CreateTime.substring(8,10)}})</span>
|
|
|
+ </h2>
|
|
|
<p class="van-multi-ellipsis--l2 des">{{item.Abstract}}</p>
|
|
|
<div class="bot-info">
|
|
|
<div style="flex:1">
|
|
|
- <span style="margin-right:10px">{{moment(item.ModifyTime).format('YYYY-MM-DD')}}</span>
|
|
|
- <span>{{item.AdminRealName}}</span>
|
|
|
+ <span style="margin-right:2px">{{moment(item.ModifyTime).format('YYYY-MM-DD')}}</span>
|
|
|
+ <svg v-if="item.PrePublishTime" style="width:14px;height:14px;position: relative;top:2px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" fill="none">
|
|
|
+ <path d="M13.0357 6.28571V14.7501L17.8576 19.7857L19.2213 18.422L14.9643 13.9512V6.28571H13.0357Z" fill="#0052D9"/>
|
|
|
+ <path d="M27.5 14C27.5 21.4558 21.4558 27.5 14 27.5C6.54416 27.5 0.5 21.4558 0.5 14C0.5 6.54416 6.54416 0.5 14 0.5C21.4558 0.5 27.5 6.54416 27.5 14ZM25.5714 14C25.5714 7.60928 20.3907 2.42857 14 2.42857C7.60928 2.42857 2.42857 7.60928 2.42857 14C2.42857 20.3907 7.60928 25.5714 14 25.5714C20.3907 25.5714 25.5714 20.3907 25.5714 14Z" fill="#0052D9"/>
|
|
|
+ </svg>
|
|
|
+ <span style="margin-left:10px">{{item.AdminRealName}}</span>
|
|
|
</div>
|
|
|
<div class="read-count">
|
|
|
<span>PV:{{item.Pv}}</span>
|
|
@@ -518,12 +580,17 @@ function handleGoEmailLog(e){
|
|
|
:min-date="calendarMinDate"
|
|
|
@confirm="handleCalendarChange"
|
|
|
:style="{ height: '500px' }"
|
|
|
+ class="calendar-box"
|
|
|
>
|
|
|
<template #title>
|
|
|
<div style="position: relative;">
|
|
|
<span style="color:#666;position: absolute;left:16px" @click="handleResetCalendar">重置</span>
|
|
|
<span>日期选择</span>
|
|
|
</div>
|
|
|
+ <div class="time-type-box">
|
|
|
+ <span @click="dateType=1" :class="['item',dateType===1?'active':'']">发布时间</span>
|
|
|
+ <span @click="dateType=2" :class="['item',dateType===2?'active':'']">更新时间</span>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</van-calendar>
|
|
|
</van-popup>
|
|
@@ -783,6 +850,42 @@ function handleGoEmailLog(e){
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+.calendar-box{
|
|
|
+ :deep(.van-calendar__header-title){
|
|
|
+ height: auto;
|
|
|
+ min-height: var(--van-calendar-header-title-height);
|
|
|
+ }
|
|
|
+ :deep(.van-calendar__header){
|
|
|
+ box-shadow: none;
|
|
|
+ }
|
|
|
+ .time-type-box{
|
|
|
+ font-weight: normal;
|
|
|
+ text-align: left;
|
|
|
+ padding-left: 32px;
|
|
|
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
|
|
|
+ .item{
|
|
|
+ display: inline-block;
|
|
|
+ margin-right: 40px;
|
|
|
+ color: $font-grey;
|
|
|
+ position: relative;
|
|
|
+ &.active{
|
|
|
+ color: #333;
|
|
|
+ &::after{
|
|
|
+ content: '';
|
|
|
+ width: 30PX;
|
|
|
+ height: 4PX;
|
|
|
+ background-color: $theme-color;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ left: 50%;
|
|
|
+ border-radius: 2px;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
@media screen and (min-width:$media-width){
|
|
|
.add-report-btn{
|
|
|
svg{
|