fix bug
parent
15dd70be73
commit
6537b15aca
|
|
@ -1,21 +1,27 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { isNotOneWeekAgo } from '@/utils'
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
date: String,
|
date: String,
|
||||||
text: String,
|
text: String,
|
||||||
top:String,
|
top: String,
|
||||||
labelText: String,
|
labelText: String,
|
||||||
labelColor: String,
|
labelColor: String,
|
||||||
size:String,
|
size: String,
|
||||||
isRead:Number
|
isRead: Number,
|
||||||
|
publishTime: String
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="date-wrapper" :data-date="date">
|
<div class="date-wrapper" :data-date="date">
|
||||||
|
<!-- <img v-if="labelText === 'New'" src="../assets/images/NEW3.gif" :class="size || []" /> -->
|
||||||
<img v-if="labelText ==='New'" src="../assets/images/NEW3.gif" :class="size||[]"/>
|
<img
|
||||||
<img v-if="labelText ==='紧急'" src="../assets/images/jj.gif" :class="size||[]"/>
|
v-if="isNotOneWeekAgo(publishTime) && labelText !== '紧急'"
|
||||||
<span :style="isRead===2?'color:#0058E5;font-weight:800':''">{{ text }}</span>
|
src="../assets/images/NEW3.gif"
|
||||||
|
:class="size || []"
|
||||||
|
/>
|
||||||
|
<img v-if="labelText === '紧急'" src="../assets/images/jj.gif" :class="size || []" />
|
||||||
|
<span :style="isRead === 2 ? 'color:#0058E5;font-weight:800' : ''">{{ text }}</span>
|
||||||
<!-- <span class="invisible">{{ date }}</span> -->
|
<!-- <span class="invisible">{{ date }}</span> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import DetailNews from './DetailNews.vue'
|
||||||
import DetailNew from './DetailNew.vue'
|
import DetailNew from './DetailNew.vue'
|
||||||
import DetailNew1 from './DetailNew1.vue'
|
import DetailNew1 from './DetailNew1.vue'
|
||||||
import {
|
import {
|
||||||
getArticleDetail,
|
getArticleDetail,
|
||||||
faqDetail,
|
faqDetail,
|
||||||
demandDetail,
|
demandDetail,
|
||||||
trendsDetail,
|
trendsDetail,
|
||||||
externalList
|
externalList
|
||||||
} from '@/api/daikin/base'
|
} from '@/api/daikin/base'
|
||||||
import HomeHead from '@/views/home/components/HomeHead.vue'
|
import HomeHead from '@/views/home/components/HomeHead.vue'
|
||||||
import { useDate } from '@/views/home/hooks/useDate'
|
import { useDate } from '@/views/home/hooks/useDate'
|
||||||
|
|
@ -18,79 +18,79 @@ const { push } = useRouter()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const { day, week } = useDate()
|
const { day, week } = useDate()
|
||||||
const SideNews = [
|
const SideNews = [
|
||||||
{ key: 'IntelligenceOutside', name: '社外情报' },
|
{ key: 'IntelligenceOutside', name: '社外情报' },
|
||||||
{ key: 'IntelligenceWithin', name: '社内情报' }
|
{ key: 'IntelligenceWithin', name: '社内情报' }
|
||||||
]
|
]
|
||||||
const types = ref()
|
const types = ref()
|
||||||
const state = ref<any>({})
|
const state = ref<any>({})
|
||||||
async function getData() {
|
async function getData() {
|
||||||
const { id, type } = route.params
|
const { id, type } = route.params
|
||||||
if (!id || !type) return
|
if (!id || !type) return
|
||||||
types.value = type
|
types.value = type
|
||||||
// console.log(types.value)
|
// console.log(types.value)
|
||||||
if (type == 1) {
|
if (type == 1) {
|
||||||
const { data } = await faqDetail({ id })
|
const { data } = await faqDetail({ id })
|
||||||
state.value = data
|
state.value = data
|
||||||
} else if (type == 2) {
|
} else if (type == 2) {
|
||||||
const { data } = await demandDetail({ id })
|
const { data } = await demandDetail({ id })
|
||||||
state.value = data
|
state.value = data
|
||||||
} else {
|
} else {
|
||||||
const { data } = await trendsDetail({ id })
|
const { data } = await trendsDetail({ id })
|
||||||
data.tagColor = data.tag === '紧急' ? '#e60e0e' : '#2cba06'
|
data.tagColor = data.tag === '紧急' ? '#e60e0e' : '#2cba06'
|
||||||
data.content = unescapeHTML(data.content)
|
data.content = unescapeHTML(data.content)
|
||||||
state.value = data
|
state.value = data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function unescapeHTML(html: string) {
|
function unescapeHTML(html: string) {
|
||||||
const doc = new DOMParser().parseFromString(html, 'text/html')
|
const doc = new DOMParser().parseFromString(html, 'text/html')
|
||||||
return doc.documentElement.textContent
|
return doc.documentElement.textContent
|
||||||
}
|
}
|
||||||
|
|
||||||
getData()
|
getData()
|
||||||
const goBack = () => {
|
const goBack = () => {
|
||||||
history.back()
|
history.back()
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="page">
|
<div class="page">
|
||||||
<HomeHead class="top">
|
<HomeHead class="top">
|
||||||
<!-- <template #content>
|
<!-- <template #content>
|
||||||
<HomeHeadSearch />
|
<HomeHeadSearch />
|
||||||
</template> -->
|
</template> -->
|
||||||
</HomeHead>
|
</HomeHead>
|
||||||
<div class="back" @click="goBack">返回首页</div>
|
<div class="back" @click="goBack">返回首页</div>
|
||||||
|
|
||||||
<div class="h-full flex ml30px">
|
<div class="h-full flex ml30px">
|
||||||
<div class="font-600 flex items-end mt30px">
|
<div class="font-600 flex items-end mt30px">
|
||||||
<div class="text-36px">详情</div>
|
<div class="text-36px">详情</div>
|
||||||
<div class="text-18px ml40px mr25px">{{ day }}</div>
|
<div class="text-18px ml40px mr25px">{{ day }}</div>
|
||||||
<div class="text-18px">{{ week }}</div>
|
<div class="text-18px">{{ week }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="page-wrap h-834px mt60px" style="grid-template-columns: 1fr">
|
<div class="page-wrap h-834px mt60px" style="grid-template-columns: 1fr">
|
||||||
<div class="page-main" style="padding: 0 30px">
|
<div class="page-main" style="padding: 0 30px">
|
||||||
<AppBlock class="h-full">
|
<AppBlock class="h-full">
|
||||||
<div class="overflow-y-auto h-full">
|
<div class="overflow-y-auto h-full">
|
||||||
<div class="px46px py40px">
|
<div class="px46px py40px">
|
||||||
<DetailNews
|
<DetailNews
|
||||||
v-if="types == 3"
|
v-if="types == 3"
|
||||||
:title="state.title"
|
:title="state.title"
|
||||||
:content="state.content"
|
:content="state.content"
|
||||||
:publishTime="state.publishTime"
|
:publishTime="state.publishTime"
|
||||||
:tag="state.tag"
|
:tag="state.tag"
|
||||||
:tagColor="state.tagColor"
|
:tagColor="state.tagColor"
|
||||||
:source="state.source"
|
:source="state.source"
|
||||||
:chatVOList="state.chatVOList"
|
:chatVOList="state.chatVOList"
|
||||||
/>
|
/>
|
||||||
<DetailNew v-if="types == 2" :dataList="state" />
|
<DetailNew v-if="types == 2" :dataList="state" />
|
||||||
<DetailNew1 v-if="types == 1" :dataList="state"></DetailNew1>
|
<DetailNew1 v-if="types == 1" :dataList="state"></DetailNew1>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</AppBlock>
|
</AppBlock>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="page-side" v-for="item in SideNews" :key="item.key">
|
<!-- <div class="page-side" v-for="item in SideNews" :key="item.key">
|
||||||
<AppBlock class="h-400px">
|
<AppBlock class="h-400px">
|
||||||
<div class="box h-full">
|
<div class="box h-full">
|
||||||
<div class="box-title flex items-center" @click="push({ name: item.key })">
|
<div class="box-title flex items-center" @click="push({ name: item.key })">
|
||||||
|
|
@ -111,87 +111,87 @@ const goBack = () => {
|
||||||
</div>
|
</div>
|
||||||
</AppBlock>
|
</AppBlock>
|
||||||
</div>-->
|
</div>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
.back {
|
.back {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 25px;
|
top: 25px;
|
||||||
left: 25px;
|
left: 25px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
// z-index: 500;
|
// z-index: 500;
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
.top {
|
.top {
|
||||||
right: 30px;
|
right: 30px;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
}
|
}
|
||||||
.page {
|
.page {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// height: 100px;
|
// height: 100px;
|
||||||
font-family: 'PingFang SC';
|
font-family: 'PingFang SC';
|
||||||
user-select: none;
|
user-select: none;
|
||||||
|
|
||||||
background-image: url('@/assets/images/bg.jpg');
|
background-image: url('@/assets/images/bg.jpg');
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
background-position: 0 0;
|
background-position: 0 0;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
.page-wrap {
|
.page-wrap {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 314px;
|
grid-template-columns: 1fr 314px;
|
||||||
grid-template-rows: repeat(2, 1fr);
|
grid-template-rows: repeat(2, 1fr);
|
||||||
grid-column-gap: 30px;
|
grid-column-gap: 30px;
|
||||||
grid-row-gap: 30px;
|
grid-row-gap: 30px;
|
||||||
|
|
||||||
.page-main {
|
.page-main {
|
||||||
height: 830px;
|
height: 830px;
|
||||||
grid-area: 1 / 1 / 3 / 2;
|
grid-area: 1 / 1 / 3 / 2;
|
||||||
}
|
}
|
||||||
.page-side {
|
.page-side {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
grid-area: 1 / 2 / 2 / 3;
|
grid-area: 1 / 2 / 2 / 3;
|
||||||
&:last-of-type {
|
&:last-of-type {
|
||||||
height: 300px;
|
height: 300px;
|
||||||
grid-area: 2 / 2 / 3 / 3;
|
grid-area: 2 / 2 / 3 / 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.main {
|
.main {
|
||||||
background-image: url('@/assets/images/bg-rs-main.svg');
|
background-image: url('@/assets/images/bg-rs-main.svg');
|
||||||
background-position: 0 0;
|
background-position: 0 0;
|
||||||
background-repeat: repeat-x;
|
background-repeat: repeat-x;
|
||||||
background-size: auto;
|
background-size: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box {
|
.box {
|
||||||
--title-h: 58px;
|
--title-h: 58px;
|
||||||
|
|
||||||
border: 0;
|
border: 0;
|
||||||
.box-title {
|
.box-title {
|
||||||
height: var(--title-h);
|
height: var(--title-h);
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background-color: #537deb;
|
background-color: #537deb;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
padding: 0 24px;
|
padding: 0 24px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.box-content {
|
.box-content {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
max-height: calc(100% - var(--title-h));
|
max-height: calc(100% - var(--title-h));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.line {
|
.line {
|
||||||
border-bottom: 1px solid #eef3fb;
|
border-bottom: 1px solid #eef3fb;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -107,21 +107,21 @@ const codePath: any = {
|
||||||
const toDetail2 = (n: any) => {
|
const toDetail2 = (n: any) => {
|
||||||
console.log(n)
|
console.log(n)
|
||||||
if (n.id === 0) return
|
if (n.id === 0) return
|
||||||
if (n.isSelect === 1) {
|
// if (n.isSelect === 1) {
|
||||||
if (n.moduleCode === 'App_Database') {
|
if (n.moduleCode === 'App_Database') {
|
||||||
return push('/DataBase?id=' + n.cateId)
|
return push('/DataBase?id=' + n.cateId)
|
||||||
}
|
|
||||||
if (n.moduleCode === 'App_Article') {
|
|
||||||
return push('/Home/intelligence/')
|
|
||||||
}
|
|
||||||
const { moduleCode, id, cateId } = n
|
|
||||||
const { modulePath, path } = codePath[moduleCode]
|
|
||||||
push(modulePath)
|
|
||||||
|
|
||||||
// push(`/intelligence/${n.type == 2 ? 'within' : 'outside'}/` + n.id)
|
|
||||||
} else {
|
|
||||||
message.info('您没有权限查看!')
|
|
||||||
}
|
}
|
||||||
|
if (n.moduleCode === 'App_Article') {
|
||||||
|
return push('/Home/intelligence/')
|
||||||
|
}
|
||||||
|
const { moduleCode, id, cateId } = n
|
||||||
|
const { modulePath, path } = codePath[moduleCode]
|
||||||
|
push(modulePath)
|
||||||
|
|
||||||
|
// push(`/intelligence/${n.type == 2 ? 'within' : 'outside'}/` + n.id)
|
||||||
|
// } else {
|
||||||
|
// message.info('您没有权限查看!')
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
const downloads = (data: any = {}) => {
|
const downloads = (data: any = {}) => {
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import Layout from './components/Layout.vue'
|
||||||
import DetailNews from './DetailNews.vue'
|
import DetailNews from './DetailNews.vue'
|
||||||
import { getArticleDetail, getArticlePage, getManagerDetail, report } from '@/api/daikin/base'
|
import { getArticleDetail, getArticlePage, getManagerDetail, report } from '@/api/daikin/base'
|
||||||
import { message } from '@/utils/message'
|
import { message } from '@/utils/message'
|
||||||
|
import { isNotOneWeekAgo } from '@/utils'
|
||||||
|
|
||||||
const { push } = useRouter()
|
const { push } = useRouter()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
|
@ -161,7 +162,12 @@ const handlewaiScoll = () => {
|
||||||
size="h20px"
|
size="h20px"
|
||||||
/> -->
|
/> -->
|
||||||
<div class="flex" @click="toDetail2(i)">
|
<div class="flex" @click="toDetail2(i)">
|
||||||
<img v-if="i.tag === 'New'" src="../../../assets/images/NEW3.gif" class="h20px" />
|
<!-- <img v-if="i.tag === 'New'" src="../../../assets/images/NEW3.gif" class="h20px" /> -->
|
||||||
|
<img
|
||||||
|
v-if="i.tag !== '紧急' && isNotOneWeekAgo(i.publishTime)"
|
||||||
|
src="../../../assets/images/NEW3.gif"
|
||||||
|
class="h20px"
|
||||||
|
/>
|
||||||
<img v-if="i.tag === '紧急'" src="../../../assets/images/jj.gif" class="h20px" />
|
<img v-if="i.tag === '紧急'" src="../../../assets/images/jj.gif" class="h20px" />
|
||||||
<div class="ml5px leading-4.5 max-w300px overflow-ellipsis">
|
<div class="ml5px leading-4.5 max-w300px overflow-ellipsis">
|
||||||
{{ i.title }}
|
{{ i.title }}
|
||||||
|
|
@ -192,7 +198,12 @@ const handlewaiScoll = () => {
|
||||||
/> -->
|
/> -->
|
||||||
|
|
||||||
<div class="flex" @click="toDetail2(i)">
|
<div class="flex" @click="toDetail2(i)">
|
||||||
<img v-if="i.tag === 'New'" src="../../../assets/images/NEW3.gif" class="h20px" />
|
<!-- <img v-if="i.tag === 'New'" src="../../../assets/images/NEW3.gif" class="h20px" /> -->
|
||||||
|
<img
|
||||||
|
v-if="i.tag !== '紧急' && isNotOneWeekAgo(i.publishTime)"
|
||||||
|
src="../../../assets/images/NEW3.gif"
|
||||||
|
class="h20px"
|
||||||
|
/>
|
||||||
<img v-if="i.tag === '紧急'" src="../../../assets/images/jj.gif" class="h20px" />
|
<img v-if="i.tag === '紧急'" src="../../../assets/images/jj.gif" class="h20px" />
|
||||||
<div class="ml5px leading-4.5 max-w300px overflow-ellipsis">
|
<div class="ml5px leading-4.5 max-w300px overflow-ellipsis">
|
||||||
{{ i.title }}
|
{{ i.title }}
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,20 @@ const props = defineProps({
|
||||||
tag: String,
|
tag: String,
|
||||||
tagColor: String,
|
tagColor: String,
|
||||||
source: String,
|
source: String,
|
||||||
publishTime: String,
|
publishTime: String
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="news-wrapper">
|
<div class="news-wrapper">
|
||||||
<h1 class="title" v-if="title">
|
<h1 class="title" v-if="title">
|
||||||
<AppNewsBox :labelText="tag" :labelColor="tagColor" :text="title" :size="tag==='New'?'h20px':'h30px'" class="text-35px"/>
|
<AppNewsBox
|
||||||
|
:labelText="tag"
|
||||||
|
:labelColor="tagColor"
|
||||||
|
:text="title"
|
||||||
|
:size="tag === 'New' ? 'h20px' : 'h30px'"
|
||||||
|
class="text-35px"
|
||||||
|
/>
|
||||||
</h1>
|
</h1>
|
||||||
<h2 class="sub-title">
|
<h2 class="sub-title">
|
||||||
<span v-if="source">来自:{{ source }} </span>
|
<span v-if="source">来自:{{ source }} </span>
|
||||||
|
|
@ -49,9 +55,10 @@ const props = defineProps({
|
||||||
// max-width: 500px;
|
// max-width: 500px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
margin-bottom: 24px;
|
margin-bottom: 24px;
|
||||||
|
max-width: 1060px;
|
||||||
}
|
}
|
||||||
:deep(p) {
|
:deep(p) {
|
||||||
text-indent: 2em;
|
// text-indent: 2em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,7 @@ report({ moduleCode: 'App_Article' })
|
||||||
labelColor="#2cba06"
|
labelColor="#2cba06"
|
||||||
:size="item.tag === 'New' ? 'h20px' : 'h30px'"
|
:size="item.tag === 'New' ? 'h20px' : 'h30px'"
|
||||||
:text="item.title"
|
:text="item.title"
|
||||||
|
:publishTime="item.publishTime"
|
||||||
:date="item.publishTime"
|
:date="item.publishTime"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import 'swiper/css/pagination'
|
||||||
import AppAlert from '@/components/AppAlert.vue'
|
import AppAlert from '@/components/AppAlert.vue'
|
||||||
import { pageType } from '@/stores/modules/pages'
|
import { pageType } from '@/stores/modules/pages'
|
||||||
import { message } from '@/utils/message'
|
import { message } from '@/utils/message'
|
||||||
|
import { isNotOneWeekAgo } from '@/utils'
|
||||||
|
|
||||||
const store = pageType()
|
const store = pageType()
|
||||||
import type { PropType } from 'vue'
|
import type { PropType } from 'vue'
|
||||||
|
|
@ -16,150 +17,130 @@ const { push } = useRouter()
|
||||||
const routet = useRoute()
|
const routet = useRoute()
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
route: String,
|
route: String,
|
||||||
routets: String,
|
routets: String,
|
||||||
swipImgs: {
|
swipImgs: {
|
||||||
type: Array as PropType<any[]>,
|
type: Array as PropType<any[]>,
|
||||||
default: () => []
|
default: () => []
|
||||||
},
|
},
|
||||||
items: {
|
items: {
|
||||||
type: Array as PropType<any[]>,
|
type: Array as PropType<any[]>,
|
||||||
default: () => []
|
default: () => []
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
let indexs = 3
|
let indexs = 3
|
||||||
const modules = [Autoplay, Pagination, Navigation, A11y]
|
const modules = [Autoplay, Pagination, Navigation, A11y]
|
||||||
|
|
||||||
const swipeActiveIndex = ref(0)
|
const swipeActiveIndex = ref(0)
|
||||||
function handleIndex(x: any) {
|
function handleIndex(x: any) {
|
||||||
swipeActiveIndex.value = x.realIndex
|
swipeActiveIndex.value = x.realIndex
|
||||||
}
|
}
|
||||||
|
|
||||||
const swipeRef = ref<any>(null)
|
const swipeRef = ref<any>(null)
|
||||||
const slideTo = async (index: any) => {
|
const slideTo = async (index: any) => {
|
||||||
const swiper = unref(swipeRef)
|
const swiper = unref(swipeRef)
|
||||||
if (!swiper) return
|
if (!swiper) return
|
||||||
|
|
||||||
swiper.slideTo(index, 0)
|
swiper.slideTo(index, 0)
|
||||||
swipeActiveIndex.value = index
|
swipeActiveIndex.value = index
|
||||||
}
|
}
|
||||||
|
|
||||||
const setSwiperRef = (swiper: any) => {
|
const setSwiperRef = (swiper: any) => {
|
||||||
swipeRef.value = swiper
|
swipeRef.value = swiper
|
||||||
}
|
}
|
||||||
const toDest = (id: any) => {
|
const toDest = (id: any) => {
|
||||||
store.page.types = id
|
store.page.types = id
|
||||||
sessionStorage.setItem('types', id)
|
sessionStorage.setItem('types', id)
|
||||||
// console.log(routet,routet.path)
|
// console.log(routet,routet.path)
|
||||||
push({ name: props.route })
|
push({ name: props.route })
|
||||||
}
|
}
|
||||||
const toDetail2 = (n) => {
|
const toDetail2 = (n) => {
|
||||||
// console.log(n)
|
// console.log(n)
|
||||||
if (n.id === 0) return
|
if (n.id === 0) return
|
||||||
if (n.isSelect === 1) {
|
if (n.isSelect === 1) {
|
||||||
push(`${routet.path.replace('/Home', '')}/${props.routets}/${n.id}`)
|
push(`${routet.path.replace('/Home', '')}/${props.routets}/${n.id}`)
|
||||||
} else {
|
} else {
|
||||||
message.error('没有访问权限')
|
message.error('没有访问权限')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section
|
<section v-if="swipImgs?.length" class="w640px h280px mt18px relative min-h280px">
|
||||||
v-if="swipImgs?.length"
|
<Swiper
|
||||||
class="w640px h280px mt18px relative min-h280px"
|
@slideChangeTransitionEnd="handleIndex"
|
||||||
>
|
@swiper="setSwiperRef"
|
||||||
<Swiper
|
class="w-full h-full"
|
||||||
@slideChangeTransitionEnd="handleIndex"
|
:slidesPerView="1"
|
||||||
@swiper="setSwiperRef"
|
:spaceBetween="30"
|
||||||
class="w-full h-full"
|
:loop="false"
|
||||||
:slidesPerView="1"
|
:centeredSlides="true"
|
||||||
:spaceBetween="30"
|
:autoplay="{ delay: 10000, disableOnInteraction: false }"
|
||||||
:loop="false"
|
:navigation="false"
|
||||||
:centeredSlides="true"
|
:modules="modules"
|
||||||
:autoplay="{ delay: 10000, disableOnInteraction: false }"
|
:route="routet"
|
||||||
:navigation="false"
|
>
|
||||||
:modules="modules"
|
<template v-for="(item, index) in swipImgs" :key="index">
|
||||||
:route="routet"
|
<SwiperSlide>
|
||||||
>
|
<img :src="item.bannerImg" alt="" @click="toDetail2(item)" class="w100%" />
|
||||||
<template v-for="(item, index) in swipImgs" :key="index">
|
<div
|
||||||
<SwiperSlide>
|
class="absolute w-full bg-#062910/60 h52px left-0 bottom-0 z-9 text-#fff flex px18px items-center"
|
||||||
<img
|
>
|
||||||
:src="item.bannerImg"
|
<div
|
||||||
alt=""
|
class="text-ellipsis text-22px font-600 max-w480px"
|
||||||
@click="toDetail2(item)"
|
@click="toDetail2(item)"
|
||||||
class="w100%"
|
:title="item.title"
|
||||||
/>
|
>
|
||||||
<div
|
{{ item.title }}
|
||||||
class="absolute w-full bg-#062910/60 h52px left-0 bottom-0 z-9 text-#fff flex px18px items-center"
|
</div>
|
||||||
>
|
</div>
|
||||||
<div
|
</SwiperSlide>
|
||||||
class="text-ellipsis text-22px font-600 max-w480px"
|
<div
|
||||||
@click="toDetail2(item)"
|
class="absolute w-full h52px left-0 bottom-0 z-10 flex px18px items-center justify-end"
|
||||||
:title="item.title"
|
>
|
||||||
>
|
<div class="dots shrink-0 cursor-pointer">
|
||||||
{{ item.title }}
|
<span
|
||||||
</div>
|
:class="`dot ${swipeActiveIndex === idx && 'active'}`"
|
||||||
</div>
|
v-for="(item, idx) in swipImgs"
|
||||||
</SwiperSlide>
|
:key="item"
|
||||||
<div
|
@click="slideTo(idx)"
|
||||||
class="absolute w-full h52px left-0 bottom-0 z-10 flex px18px items-center justify-end"
|
></span>
|
||||||
>
|
</div>
|
||||||
<div class="dots shrink-0 cursor-pointer">
|
</div>
|
||||||
<span
|
</template>
|
||||||
:class="`dot ${swipeActiveIndex === idx && 'active'}`"
|
</Swiper>
|
||||||
v-for="(item, idx) in swipImgs"
|
</section>
|
||||||
:key="item"
|
<section class="max-h-500px overflow-y-auto -webkit-scrollbar">
|
||||||
@click="slideTo(idx)"
|
<div class="flex mt19px items min-h-140px" v-for="item in items" :key="item">
|
||||||
></span>
|
<div
|
||||||
</div>
|
class="w100px h100px rd-20px flex-shrink flex flex-col justify-center items-center text-#fff"
|
||||||
</div>
|
:style="{ backgroundColor: item.color }"
|
||||||
</template>
|
>
|
||||||
</Swiper>
|
<img :src="item.icon" />
|
||||||
</section>
|
<span class="mt14px">{{ item.name }}</span>
|
||||||
<section class="max-h-500px overflow-y-auto -webkit-scrollbar">
|
</div>
|
||||||
<div
|
<div class="flex flex-col flex-1 ml16px min-h-120px">
|
||||||
class="flex mt19px items min-h-140px"
|
<template v-if="item.list.length > 0">
|
||||||
v-for="item in items"
|
<AppAlert class="flex cursor-pointer" cate="1">
|
||||||
:key="item"
|
<span
|
||||||
>
|
v-if="item.list[0].isTop === 'Y'"
|
||||||
<div
|
class="flex-1 w0 truncate font-500"
|
||||||
class="w100px h100px rd-20px flex-shrink flex flex-col justify-center items-center text-#fff"
|
@click="toDetail2(item.list[0])"
|
||||||
:style="{ backgroundColor: item.color }"
|
:title="item.list[0].source"
|
||||||
>
|
>{{ item.list[0].title }}</span
|
||||||
<img :src="item.icon" />
|
>
|
||||||
<span class="mt14px">{{ item.name }}</span>
|
<span class="flex-1 w0 truncate font-500" v-if="item.list[0].isTop === 'N'"></span>
|
||||||
</div>
|
<img
|
||||||
<div class="flex flex-col flex-1 ml16px min-h-120px">
|
v-if="item.list[0].isTop === 'Y'"
|
||||||
<template v-if="item.list.length > 0">
|
src="../../../assets/images/jj.gif"
|
||||||
<AppAlert class="flex cursor-pointer" cate="1">
|
class="h27px mr5px mt3px"
|
||||||
<span
|
/>
|
||||||
v-if="item.list[0].isTop === 'Y'"
|
<div class="flex h40px lh-40px text-#fff text-18px">
|
||||||
class="flex-1 w0 truncate font-500"
|
<div class="pr40px cursor-pointer more text-14px" @click="toDest(item.key)">更多</div>
|
||||||
@click="toDetail2(item.list[0])"
|
</div>
|
||||||
:title="item.list[0].source"
|
</AppAlert>
|
||||||
>{{ item.list[0].title }}</span
|
<div class="" v-for="(n, idx) in item.news" :key="n.title">
|
||||||
>
|
<!-- <div v-if="idx ==0">
|
||||||
<span
|
|
||||||
class="flex-1 w0 truncate font-500"
|
|
||||||
v-if="item.list[0].isTop === 'N'"
|
|
||||||
></span>
|
|
||||||
<img
|
|
||||||
v-if="item.list[0].isTop === 'Y'"
|
|
||||||
src="../../../assets/images/jj.gif"
|
|
||||||
class="h27px mr5px mt3px"
|
|
||||||
/>
|
|
||||||
<div class="flex h40px lh-40px text-#fff text-18px">
|
|
||||||
<div
|
|
||||||
class="pr40px cursor-pointer more text-14px"
|
|
||||||
@click="toDest(item.key)"
|
|
||||||
>
|
|
||||||
更多
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</AppAlert>
|
|
||||||
<div class="" v-for="(n, idx) in item.news" :key="n.title">
|
|
||||||
<!-- <div v-if="idx ==0">
|
|
||||||
<div v-if="n.isTop === 'Y'?indexs=3:indexs=2" class="mt7px cursor-pointer flex items-center" :data-date="n.publishTime" @click="toDetail2(n)">
|
<div v-if="n.isTop === 'Y'?indexs=3:indexs=2" class="mt7px cursor-pointer flex items-center" :data-date="n.publishTime" @click="toDetail2(n)">
|
||||||
<span v-if="n.isTop !== 'Y'" class="truncate flex-1 w0 text-#142142 hover:underline mt4px" :style="n.isRead===2?'color:#0058E5;font-weight':''" :title="n.source">{{ n.title }}</span>
|
<span v-if="n.isTop !== 'Y'" class="truncate flex-1 w0 text-#142142 hover:underline mt4px" :style="n.isRead===2?'color:#0058E5;font-weight':''" :title="n.source">{{ n.title }}</span>
|
||||||
<span class="mt4.5px">
|
<span class="mt4.5px">
|
||||||
|
|
@ -170,48 +151,38 @@ const toDetail2 = (n) => {
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else> -->
|
<div v-else> -->
|
||||||
<div
|
<div
|
||||||
v-if="idx < 3"
|
v-if="idx < 3"
|
||||||
class="mt8px cursor-pointer flex items-center h25px"
|
class="mt8px cursor-pointer flex items-center h25px"
|
||||||
:data-date="n.publishTime"
|
:data-date="n.publishTime"
|
||||||
@click="toDetail2(n)"
|
@click="toDetail2(n)"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="truncate flex-1 w0 text-#142142 hover:underline mt4px"
|
class="truncate flex-1 w0 text-#142142 hover:underline mt4px"
|
||||||
:style="n.isRead === 2 ? 'color:#0058E5;font-weight' : ''"
|
:style="n.isRead === 2 ? 'color:#0058E5;font-weight' : ''"
|
||||||
:title="n.source"
|
:title="n.source"
|
||||||
>{{ n.title }}</span
|
>{{ n.title }}</span
|
||||||
>
|
>
|
||||||
<span class="mt4.5px">
|
<span class="mt4.5px">
|
||||||
<img
|
<!-- <img v-if="n.tag === 'New'" src="./images/NEW3.gif" class="h20px" /> -->
|
||||||
v-if="n.tag === 'New'"
|
<img v-if="isNotOneWeekAgo(n.publishTime)" src="./images/NEW3.gif" class="h20px" />
|
||||||
src="./images/NEW3.gif"
|
</span>
|
||||||
class="h20px"
|
<span class="shrink-0 ml18px text-#808696 mt4px">{{ n.publishTime }}</span>
|
||||||
/>
|
</div>
|
||||||
</span>
|
<!-- </div> -->
|
||||||
<span class="shrink-0 ml18px text-#808696 mt4px">{{
|
</div>
|
||||||
n.publishTime
|
</template>
|
||||||
}}</span>
|
<template v-else>
|
||||||
</div>
|
<AppAlert class="flex cursor-pointer" cate="1">
|
||||||
<!-- </div> -->
|
<span class="flex-1 w0 truncate font-500"></span>
|
||||||
</div>
|
<div class="flex h40px lh-40px text-#fff text-18px">
|
||||||
</template>
|
<div class="pr40px cursor-pointer more text-14px" @click="toDest(item.key)">更多</div>
|
||||||
<template v-else>
|
</div>
|
||||||
<AppAlert class="flex cursor-pointer" cate="1">
|
</AppAlert>
|
||||||
<span class="flex-1 w0 truncate font-500"></span>
|
</template>
|
||||||
<div class="flex h40px lh-40px text-#fff text-18px">
|
</div>
|
||||||
<div
|
</div>
|
||||||
class="pr40px cursor-pointer more text-14px"
|
</section>
|
||||||
@click="toDest(item.key)"
|
|
||||||
>
|
|
||||||
更多
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</AppAlert>
|
|
||||||
</template>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
|
|
@ -219,59 +190,59 @@ const toDetail2 = (n) => {
|
||||||
// width: 1px;
|
// width: 1px;
|
||||||
// }
|
// }
|
||||||
.text-ellipsis {
|
.text-ellipsis {
|
||||||
white-space: nowrap; /* 防止文本换行 */
|
white-space: nowrap; /* 防止文本换行 */
|
||||||
overflow: hidden; /* 隐藏溢出部分 */
|
overflow: hidden; /* 隐藏溢出部分 */
|
||||||
text-overflow: ellipsis; /* 显示省略号 */
|
text-overflow: ellipsis; /* 显示省略号 */
|
||||||
/* 其他样式,如字体大小、字体粗细等 */
|
/* 其他样式,如字体大小、字体粗细等 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
background: linear-gradient(0deg, #466ccd, #5c87f5);
|
background: linear-gradient(0deg, #466ccd, #5c87f5);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
opacity: 0.52;
|
opacity: 0.52;
|
||||||
}
|
}
|
||||||
.more {
|
.more {
|
||||||
position: relative;
|
position: relative;
|
||||||
&::after {
|
&::after {
|
||||||
content: '';
|
content: '';
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 15px;
|
right: 15px;
|
||||||
top: 10px;
|
top: 10px;
|
||||||
background-image: url('./images/younniu.png');
|
background-image: url('./images/younniu.png');
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.dots {
|
.dots {
|
||||||
.dot {
|
.dot {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 13px;
|
width: 13px;
|
||||||
height: 9px;
|
height: 9px;
|
||||||
background-color: rgba(255, 255, 255, 0.3);
|
background-color: rgba(255, 255, 255, 0.3);
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
&.active {
|
&.active {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.items {
|
.items {
|
||||||
.bg-red {
|
.bg-red {
|
||||||
background-color: #e60e0e;
|
background-color: #e60e0e;
|
||||||
}
|
}
|
||||||
.bg-green {
|
.bg-green {
|
||||||
background-color: #2cba06;
|
background-color: #2cba06;
|
||||||
}
|
}
|
||||||
.items-content {
|
.items-content {
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
|
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
-webkit-line-clamp: 2;
|
-webkit-line-clamp: 2;
|
||||||
line-height: 1.7;
|
line-height: 1.7;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -6,76 +6,88 @@ import HomeHeadSearch from '@/views/home/components/HomeHeadSearch.vue'
|
||||||
import UserPage from './UserPages.vue'
|
import UserPage from './UserPages.vue'
|
||||||
import { useDate } from '@/views/home/hooks/useDate'
|
import { useDate } from '@/views/home/hooks/useDate'
|
||||||
import { getArticleDetail, review } from '@/api/daikin/base'
|
import { getArticleDetail, review } from '@/api/daikin/base'
|
||||||
import { NModal, NCard, NForm, NButton, NFormItem, NInput, NRadio, NSelect, NSpace, NRadioGroup, useMessage, treeDark } from 'naive-ui'
|
import {
|
||||||
|
NModal,
|
||||||
|
NCard,
|
||||||
|
NForm,
|
||||||
|
NButton,
|
||||||
|
NFormItem,
|
||||||
|
NInput,
|
||||||
|
NRadio,
|
||||||
|
NSelect,
|
||||||
|
NSpace,
|
||||||
|
NRadioGroup,
|
||||||
|
useMessage,
|
||||||
|
treeDark
|
||||||
|
} from 'naive-ui'
|
||||||
import { getImg } from '../images'
|
import { getImg } from '../images'
|
||||||
import { useUserStore } from '@/stores/modules/user'
|
import { useUserStore } from '@/stores/modules/user'
|
||||||
import {noticeld} from '@/stores/modules/noticeId'
|
import { noticeld } from '@/stores/modules/noticeId'
|
||||||
import { Plus } from '@element-plus/icons-vue'
|
import { Plus } from '@element-plus/icons-vue'
|
||||||
import type { UploadProps, UploadUserFile } from 'element-plus'
|
import type { UploadProps, UploadUserFile } from 'element-plus'
|
||||||
|
|
||||||
|
|
||||||
const stores = noticeld()
|
const stores = noticeld()
|
||||||
const store = useUserStore()
|
const store = useUserStore()
|
||||||
|
|
||||||
const state = ref<any>({})
|
const state = ref<any>({})
|
||||||
async function getData() {
|
async function getData() {
|
||||||
const { id } = route.params
|
const { id } = route.params
|
||||||
if (!id) return
|
if (!id) return
|
||||||
const { data} = await getArticleDetail(id as string)
|
const { data } = await getArticleDetail(id as string)
|
||||||
state.value = data
|
state.value = data
|
||||||
dataList.value = data.userList
|
dataList.value = data.userList
|
||||||
formValue.value = Object.assign(data,{
|
formValue.value = Object.assign(data, {
|
||||||
type:data.type+'',
|
type: data.type + '',
|
||||||
cate:data.cate+'',
|
cate: data.cate + ''
|
||||||
})
|
})
|
||||||
editorContent.value =data.content? unescapeHTML(data.content):''
|
editorContent.value = data.content ? unescapeHTML(data.content) : ''
|
||||||
cate.value = data.cate
|
cate.value = data.cate
|
||||||
console.log(data.type)
|
console.log(data.type)
|
||||||
}
|
}
|
||||||
|
|
||||||
const message = useMessage()
|
const message = useMessage()
|
||||||
const { day, week } = useDate()
|
const { day, week } = useDate()
|
||||||
const { push } = useRouter()
|
const { push } = useRouter()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
let cate = ref(1);
|
let cate = ref(1)
|
||||||
let formValue: any = ref({
|
let formValue: any = ref({
|
||||||
type: 1,
|
type: 1,
|
||||||
status:1,
|
status: 1,
|
||||||
cate: '',
|
cate: '',
|
||||||
title: '',
|
title: '',
|
||||||
tag: '',
|
tag: '',
|
||||||
source: '',
|
source: '',
|
||||||
content: '',
|
content: '',
|
||||||
isTop:'N',
|
isTop: 'N',
|
||||||
bannerImg:'',
|
bannerImg: ''
|
||||||
})
|
})
|
||||||
|
|
||||||
let rules = {
|
let rules = {
|
||||||
cate: {
|
cate: {
|
||||||
required: false,
|
required: false,
|
||||||
message: '请选择类型',
|
message: '请选择类型',
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
required: false,
|
required: false,
|
||||||
message: '请输入标题',
|
message: '请输入标题',
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
},
|
},
|
||||||
tag: {
|
tag: {
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入标题',
|
message: '请输入标题',
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
},
|
},
|
||||||
source: {
|
source: {
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入标题',
|
message: '请输入标题',
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
},
|
},
|
||||||
content: {
|
content: {
|
||||||
required: false,
|
required: false,
|
||||||
message: '请输入内容',
|
message: '请输入内容',
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// let options = [{
|
// let options = [{
|
||||||
// label: '紧急',
|
// label: '紧急',
|
||||||
|
|
@ -86,192 +98,201 @@ let rules = {
|
||||||
// value: 'New'
|
// value: 'New'
|
||||||
// },]
|
// },]
|
||||||
function change(i: any) {
|
function change(i: any) {
|
||||||
cate.value = i
|
cate.value = i
|
||||||
formValue.cate = cate.value
|
formValue.cate = cate.value
|
||||||
// console.log( formValue.cate)
|
// console.log( formValue.cate)
|
||||||
}
|
}
|
||||||
function unescapeHTML(html: string) {
|
function unescapeHTML(html: string) {
|
||||||
const doc = new DOMParser().parseFromString(html, 'text/html');
|
const doc = new DOMParser().parseFromString(html, 'text/html')
|
||||||
return doc.documentElement.textContent;
|
return doc.documentElement.textContent
|
||||||
}
|
}
|
||||||
function escapeHTML(html: string): string {
|
function escapeHTML(html: string): string {
|
||||||
const tempElement = document.createElement('div');
|
const tempElement = document.createElement('div')
|
||||||
tempElement.textContent = html;
|
tempElement.textContent = html
|
||||||
return tempElement.innerHTML;
|
return tempElement.innerHTML
|
||||||
}
|
}
|
||||||
// 获取子组件传过来的值
|
// 获取子组件传过来的值
|
||||||
const handleChild2 = (data: string) => {
|
const handleChild2 = (data: string) => {
|
||||||
editorContent.value = data
|
editorContent.value = data
|
||||||
}
|
}
|
||||||
const starts =ref(1)
|
const starts = ref(1)
|
||||||
const fileList = ref<[]>()
|
const fileList = ref<[]>()
|
||||||
const editorContent = ref('')
|
const editorContent = ref('')
|
||||||
async function sure() {
|
async function sure() {
|
||||||
const {id, title, source, type ,isTop,content:conts} = formValue.value
|
const { id, title, source, type, isTop, content: conts } = formValue.value
|
||||||
const cont = editorContent.value
|
const cont = editorContent.value
|
||||||
const content = cont?escapeHTML(cont):conts
|
const content = cont ? escapeHTML(cont) : conts
|
||||||
|
|
||||||
const noticeId = stores.article.noticeld
|
const noticeId = stores.article.noticeld
|
||||||
const cates = cate.value
|
const cates = cate.value
|
||||||
const status = starts.value
|
const status = starts.value
|
||||||
console.log(content)
|
console.log(content)
|
||||||
let userIdList: any[] =[]
|
let userIdList: any[] = []
|
||||||
// let filLists
|
// let filLists
|
||||||
// if(isTop==='Y'&&!fileList.value){
|
// if(isTop==='Y'&&!fileList.value){
|
||||||
// message.error("请选择图片")
|
// message.error("请选择图片")
|
||||||
// return
|
// return
|
||||||
// }
|
// }
|
||||||
// else if(isTop==='Y'&&fileList.value){
|
// else if(isTop==='Y'&&fileList.value){
|
||||||
// filLists = fileList.value.map(item => item.response.fileName).join(',');
|
// filLists = fileList.value.map(item => item.response.fileName).join(',');
|
||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
if(!dataList.value){
|
if (!dataList.value) {
|
||||||
message.success("请选择要提醒的对象")
|
message.success('请选择要提醒的对象')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
dataList.value.forEach((i: { userId: any })=>{
|
dataList.value.forEach((i: { userId: any }) => {
|
||||||
console.log(dataList.value)
|
console.log(dataList.value)
|
||||||
userIdList.push(i.userId)
|
userIdList.push(i.userId)
|
||||||
})
|
})
|
||||||
// console.log(formValue.value)
|
// console.log(formValue.value)
|
||||||
if(userIdList.length<0) return
|
if (userIdList.length < 0) return
|
||||||
const { msg, code } = await review({id,status,isTop, title, source, cate:cates,noticeId, type, content ,userIdList})
|
const { msg, code } = await review({
|
||||||
if (code === 200) {
|
id,
|
||||||
showModalRef2.value = true
|
status,
|
||||||
}
|
isTop,
|
||||||
else { message.success(msg); }
|
title,
|
||||||
|
source,
|
||||||
|
cate: cates,
|
||||||
|
noticeId,
|
||||||
|
type,
|
||||||
|
content,
|
||||||
|
userIdList
|
||||||
|
})
|
||||||
|
if (code === 200) {
|
||||||
|
showModalRef2.value = true
|
||||||
|
} else {
|
||||||
|
message.success(msg)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const showModal = ref(false)
|
const showModal = ref(false)
|
||||||
const showModalRef = ref(false)
|
const showModalRef = ref(false)
|
||||||
const showModalRef2 = ref(false)
|
const showModalRef2 = ref(false)
|
||||||
const bodyStyle = ref({
|
const bodyStyle = ref({
|
||||||
// 'background-color': '#236EED'
|
// 'background-color': '#236EED'
|
||||||
})
|
})
|
||||||
function onNegativeClick() {
|
function onNegativeClick() {
|
||||||
message.success('Cancel')
|
message.success('Cancel')
|
||||||
showModalRef.value = false
|
showModalRef.value = false
|
||||||
}
|
}
|
||||||
function onPositiveClick() {
|
function onPositiveClick() {
|
||||||
showModalRef.value = false
|
showModalRef.value = false
|
||||||
sure()
|
sure()
|
||||||
|
|
||||||
}
|
}
|
||||||
function onPositiveClicks() {
|
function onPositiveClicks() {
|
||||||
showModalRefs.value = false
|
showModalRefs.value = false
|
||||||
sure()
|
sure()
|
||||||
|
|
||||||
}
|
}
|
||||||
const dataList = ref()
|
const dataList = ref()
|
||||||
// 获取子组件传过来的值
|
// 获取子组件传过来的值
|
||||||
const handleChild = (data: any) => {
|
const handleChild = (data: any) => {
|
||||||
const { showModal: show, multipleSelection } = data
|
const { showModal: show, multipleSelection } = data
|
||||||
showModal.value = unref(show)
|
showModal.value = unref(show)
|
||||||
dataList.value = unref(multipleSelection)
|
dataList.value = unref(multipleSelection)
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleClose = (tag: any) => {
|
const handleClose = (tag: any) => {
|
||||||
|
dataList.value.splice(dataList.value.indexOf(tag), 1)
|
||||||
dataList.value.splice(dataList.value.indexOf(tag), 1)
|
// console.log( dataList.value)
|
||||||
// console.log( dataList.value)
|
|
||||||
}
|
}
|
||||||
const CloseThis = (data: boolean)=>{
|
const CloseThis = (data: boolean) => {
|
||||||
showModal.value = data
|
showModal.value = data
|
||||||
}
|
}
|
||||||
const ok =() =>{
|
const ok = () => {
|
||||||
showModalRef2.value = false
|
showModalRef2.value = false
|
||||||
push('/Home/Process')
|
push('/Home/Process')
|
||||||
}
|
}
|
||||||
|
|
||||||
const submitSave = (page: any)=>{
|
const submitSave = (page: any) => {
|
||||||
console.log(page)
|
console.log(page)
|
||||||
if(store.user.isReview === 1){
|
if (store.user.isReview === 1) {
|
||||||
if(page === 1){
|
if (page === 1) {
|
||||||
|
showModalRef.value = true
|
||||||
showModalRef.value = true
|
} else {
|
||||||
}else{
|
showModalRefs.value = true
|
||||||
showModalRefs.value = true
|
|
||||||
}
|
|
||||||
starts.value = page
|
|
||||||
// console.log(page,showModalRef.value, showModalRefs.value)
|
|
||||||
}
|
}
|
||||||
else{
|
starts.value = page
|
||||||
message.warning("您还未获得审核权限")
|
// console.log(page,showModalRef.value, showModalRefs.value)
|
||||||
}
|
} else {
|
||||||
|
message.warning('您还未获得审核权限')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
getData()
|
getData()
|
||||||
const showModals =ref(false)
|
const showModals = ref(false)
|
||||||
const header = {'token':store.user.token}
|
const header = { 'token': store.user.token }
|
||||||
// console.log(store.user.token)
|
// console.log(store.user.token)
|
||||||
|
|
||||||
const dialogImageUrl = ref('')
|
const dialogImageUrl = ref('')
|
||||||
const dialogVisible = ref(false)
|
const dialogVisible = ref(false)
|
||||||
|
|
||||||
const handleRemove: UploadProps['onRemove'] = (uploadFile: any, uploadFiles: any) => {
|
const handleRemove: UploadProps['onRemove'] = (uploadFile: any, uploadFiles: any) => {
|
||||||
// console.log(dialogImageUrl,dialogVisible)
|
// console.log(dialogImageUrl,dialogVisible)
|
||||||
}
|
}
|
||||||
|
|
||||||
const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile: { url: string }) => {
|
const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile: { url: string }) => {
|
||||||
dialogImageUrl.value = uploadFile.url!
|
dialogImageUrl.value = uploadFile.url!
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
// console.log(dialogImageUrl.value)
|
// console.log(dialogImageUrl.value)
|
||||||
}
|
}
|
||||||
const setUserList =ref()
|
const setUserList = ref()
|
||||||
const thisClick=()=>{
|
const thisClick = () => {
|
||||||
showModal.value = true
|
showModal.value = true
|
||||||
setUserList.value = dataList.value
|
setUserList.value = dataList.value
|
||||||
stores.article.reviewSource = formValue.value.reviewSource
|
stores.article.reviewSource = formValue.value.reviewSource
|
||||||
console.log(stores.article.reviewSource)
|
console.log(stores.article.reviewSource)
|
||||||
}
|
}
|
||||||
const showModalRefs = ref(false)
|
const showModalRefs = ref(false)
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<HomeHead class="top">
|
<HomeHead class="top">
|
||||||
<template #content>
|
<template #content>
|
||||||
<!-- <HomeHeadSearch /> -->
|
<!-- <HomeHeadSearch /> -->
|
||||||
</template>
|
</template>
|
||||||
</HomeHead>
|
</HomeHead>
|
||||||
<div class="h-full relative flex flex-col">
|
<div class="h-full relative flex flex-col">
|
||||||
<div class="font-600 flex items-end mt30px">
|
<div class="font-600 flex items-end mt30px">
|
||||||
<div class="text-36px">情报新增待审批</div>
|
<div class="text-36px">情报新增待审批</div>
|
||||||
<div class="text-18px ml40px mr25px">{{ day }}</div>
|
<div class="text-18px ml40px mr25px">{{ day }}</div>
|
||||||
<div class="text-18px">{{ week }}</div>
|
<div class="text-18px">{{ week }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="q-wrapper flex-1 mt30px text-#142142 flex flex-col bg-#fff p30px ">
|
<div class="q-wrapper flex-1 mt30px text-#142142 flex flex-col bg-#fff p30px">
|
||||||
<n-form ref="formRef" :label-width="900" :model="formValue" :rules="rules" size="medium"
|
<n-form
|
||||||
require-mark-placement="left">
|
ref="formRef"
|
||||||
<n-form-item v-if="formValue.reviewSource===2" label="情报属性" path="type">
|
:label-width="900"
|
||||||
<n-radio-group v-model:value="formValue.type" name="radiogroup">
|
:model="formValue"
|
||||||
<n-space>
|
:rules="rules"
|
||||||
<!-- <n-radio v-for="song in songs" :key="song.value" :value="song.value">
|
size="medium"
|
||||||
|
require-mark-placement="left"
|
||||||
|
>
|
||||||
|
<n-form-item v-if="formValue.reviewSource === 2" label="情报属性" path="type">
|
||||||
|
<n-radio-group v-model:value="formValue.type" name="radiogroup">
|
||||||
|
<n-space>
|
||||||
|
<!-- <n-radio v-for="song in songs" :key="song.value" :value="song.value">
|
||||||
{{ song.label }}
|
{{ song.label }}
|
||||||
</n-radio> -->
|
</n-radio> -->
|
||||||
<n-radio value="2">社内</n-radio>
|
<n-radio value="2">社内</n-radio>
|
||||||
<n-radio value="1">社外</n-radio>
|
<n-radio value="1">社外</n-radio>
|
||||||
</n-space>
|
</n-space>
|
||||||
</n-radio-group>
|
</n-radio-group>
|
||||||
</n-form-item>
|
</n-form-item>
|
||||||
<n-form-item label="是否紧急" path="isTop">
|
<n-form-item label="是否紧急" path="isTop">
|
||||||
<n-radio-group v-model:value="formValue.isTop" name="radiogroup">
|
<n-radio-group v-model:value="formValue.isTop" name="radiogroup">
|
||||||
<n-space>
|
<n-space>
|
||||||
<!-- <n-radio v-for="song in songs" :key="song.value" :value="song.value">
|
<!-- <n-radio v-for="song in songs" :key="song.value" :value="song.value">
|
||||||
{{ song.label }}
|
{{ song.label }}
|
||||||
</n-radio> -->
|
</n-radio> -->
|
||||||
<n-radio value="Y">是</n-radio>
|
<n-radio value="Y">是</n-radio>
|
||||||
<n-radio value="N">不是</n-radio>
|
<n-radio value="N">不是</n-radio>
|
||||||
</n-space>
|
</n-space>
|
||||||
</n-radio-group>
|
</n-radio-group>
|
||||||
</n-form-item>
|
</n-form-item>
|
||||||
<!-- <n-form-item v-if="formValue.isTop==='Y'" label="上传图片" >
|
<!-- <n-form-item v-if="formValue.isTop==='Y'" label="上传图片" >
|
||||||
<el-upload
|
<el-upload
|
||||||
v-model:file-list="fileList"
|
v-model:file-list="fileList"
|
||||||
:headers="header"
|
:headers="header"
|
||||||
|
|
@ -289,179 +310,251 @@ const showModalRefs = ref(false)
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</n-form-item> -->
|
</n-form-item> -->
|
||||||
|
|
||||||
<n-form-item v-if="formValue.reviewSource===2&&cate!=9" label="情报类型" path="cate">
|
<n-form-item v-if="formValue.reviewSource === 2 && cate != 9" label="情报类型" path="cate">
|
||||||
<div class="flex gap-20px cursor-pointer">
|
<div class="flex gap-20px cursor-pointer">
|
||||||
|
<div
|
||||||
<div v-if="formValue.type==='1'" :class="cate == 1 ? 'img yes' : 'img'" @click="change(1)">
|
v-if="formValue.type === '1'"
|
||||||
<img src="../images/icon-1.svg" alt="" class="ml15px mt8px">
|
:class="cate == 1 ? 'img yes' : 'img'"
|
||||||
<div class="text-center text-14px text-#fff">外部环境</div>
|
@click="change(1)"
|
||||||
</div>
|
>
|
||||||
<div v-if="formValue.type==='1'" :class="cate == 2 ? 'img yes' : 'img'" @click="change(2)">
|
<img src="../images/icon-1.svg" alt="" class="ml15px mt8px" />
|
||||||
<img src="../images/icon-2.svg" alt="" class="ml18px mt14px">
|
<div class="text-center text-14px text-#fff">外部环境</div>
|
||||||
<div class="text-center text-14px text-#fff">竞争对手</div>
|
</div>
|
||||||
</div>
|
<div
|
||||||
<div v-if="formValue.type==='1'" :class="cate == 3 ? 'img yes' : 'img'" @click="change(3)">
|
v-if="formValue.type === '1'"
|
||||||
<img src="../images/icon-3.svg" alt="" class="ml19px mt8px">
|
:class="cate == 2 ? 'img yes' : 'img'"
|
||||||
<div class="text-center text-14px text-#fff">供方动向</div>
|
@click="change(2)"
|
||||||
</div>
|
>
|
||||||
|
<img src="../images/icon-2.svg" alt="" class="ml18px mt14px" />
|
||||||
<div v-if="formValue.type==='2'" :class="cate == 4 ? 'img yes' : 'img'" @click="change(4)">
|
<div class="text-center text-14px text-#fff">竞争对手</div>
|
||||||
<img src="../images/icon-4.svg" alt="" class="ml17px mt10px">
|
</div>
|
||||||
<div class="text-center text-14px text-#fff">大金集团</div>
|
<div
|
||||||
</div>
|
v-if="formValue.type === '1'"
|
||||||
<div v-if="formValue.type==='2'" :class="cate == 5 ? 'img yes' : 'img'" @click="change(5)">
|
:class="cate == 3 ? 'img yes' : 'img'"
|
||||||
<img src="../images/icon-5.svg" alt="" class="ml17px mt9px">
|
@click="change(3)"
|
||||||
<div class="text-center text-14px text-#fff">中国据点</div>
|
>
|
||||||
</div>
|
<img src="../images/icon-3.svg" alt="" class="ml19px mt8px" />
|
||||||
<div v-if="formValue.type==='2'" :class="cate == 6 ? 'img yes' : 'img'" @click="change(6)">
|
<div class="text-center text-14px text-#fff">供方动向</div>
|
||||||
<img src="../images/icon-6.svg" alt="" class="ml15px mt8px">
|
</div>
|
||||||
<div class="text-center text-14px text-#fff">调达本部</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div
|
||||||
|
v-if="formValue.type === '2'"
|
||||||
</div>
|
:class="cate == 4 ? 'img yes' : 'img'"
|
||||||
</n-form-item>
|
@click="change(4)"
|
||||||
<n-form-item v-if="formValue.reviewSource===3&&cate!=9" label="情报类型" path="cate">
|
>
|
||||||
<div class="flex gap-20px cursor-pointer">
|
<img src="../images/icon-4.svg" alt="" class="ml17px mt10px" />
|
||||||
|
<div class="text-center text-14px text-#fff">大金集团</div>
|
||||||
|
</div>
|
||||||
<div v-if="formValue.type==='1'" :class="cate == 7 ? 'img yes' : 'img'" @click="change(7)">
|
<div
|
||||||
<img src="../images/news2@2x.png" alt="" class="ml19px mt8px w46px">
|
v-if="formValue.type === '2'"
|
||||||
<div class="text-center text-14px text-#fff">News</div>
|
:class="cate == 5 ? 'img yes' : 'img'"
|
||||||
</div>
|
@click="change(5)"
|
||||||
<div v-if="formValue.type==='1'" :class="cate == 8 ? 'img yes' : 'img'" @click="change(8)">
|
>
|
||||||
<img src="../images/zytz@2x.png" alt="" class="ml10px mt8px w55px">
|
<img src="../images/icon-5.svg" alt="" class="ml17px mt9px" />
|
||||||
<div class="text-center text-14px text-#fff">重要通知</div>
|
<div class="text-center text-14px text-#fff">中国据点</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div
|
||||||
</n-form-item>
|
v-if="formValue.type === '2'"
|
||||||
<n-form-item v-if="formValue.reviewSource===2" label="轮播图" path="title">
|
:class="cate == 6 ? 'img yes' : 'img'"
|
||||||
<img v-if="formValue.bannerImg[0]" :src="formValue.bannerImg[0]" class="max-w600px max-h300px"/>
|
@click="change(6)"
|
||||||
</n-form-item>
|
>
|
||||||
<n-form-item label="情报标题" path="title">
|
<img src="../images/icon-6.svg" alt="" class="ml15px mt8px" />
|
||||||
<n-input v-model:value="formValue.title" placeholder="" />
|
<div class="text-center text-14px text-#fff">调达本部</div>
|
||||||
</n-form-item>
|
</div>
|
||||||
<!-- <n-form-item label="情报状态" path="tag" v-if="store.user.isPublish !==1">
|
</div>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item v-if="formValue.reviewSource === 3 && cate != 9" label="情报类型" path="cate">
|
||||||
|
<div class="flex gap-20px cursor-pointer">
|
||||||
|
<div
|
||||||
|
v-if="formValue.type === '1'"
|
||||||
|
:class="cate == 7 ? 'img yes' : 'img'"
|
||||||
|
@click="change(7)"
|
||||||
|
>
|
||||||
|
<img src="../images/news2@2x.png" alt="" class="ml19px mt8px w46px" />
|
||||||
|
<div class="text-center text-14px text-#fff">News</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
v-if="formValue.type === '1'"
|
||||||
|
:class="cate == 8 ? 'img yes' : 'img'"
|
||||||
|
@click="change(8)"
|
||||||
|
>
|
||||||
|
<img src="../images/zytz@2x.png" alt="" class="ml10px mt8px w55px" />
|
||||||
|
<div class="text-center text-14px text-#fff">重要通知</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item v-if="formValue.reviewSource === 2" label="轮播图" path="title">
|
||||||
|
<img
|
||||||
|
v-if="formValue.bannerImg[0]"
|
||||||
|
:src="formValue.bannerImg[0]"
|
||||||
|
class="max-w600px max-h300px"
|
||||||
|
/>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item label="情报标题" path="title">
|
||||||
|
<n-input v-model:value="formValue.title" placeholder="" />
|
||||||
|
</n-form-item>
|
||||||
|
<!-- <n-form-item label="情报状态" path="tag" v-if="store.user.isPublish !==1">
|
||||||
<n-select v-model:value="formValue.tag" :options="options" />
|
<n-select v-model:value="formValue.tag" :options="options" />
|
||||||
</n-form-item> -->
|
</n-form-item> -->
|
||||||
<n-form-item label="情报来源" path="source">
|
<n-form-item label="情报来源" path="source">
|
||||||
<n-input v-model:value="formValue.source" placeholder="" />
|
<n-input v-model:value="formValue.source" placeholder="" />
|
||||||
</n-form-item>
|
</n-form-item>
|
||||||
<n-form-item label="情报内容" path="content">
|
<n-form-item label="情报内容" path="content">
|
||||||
<Editor :content="state.content" @getChildData="handleChild2"></Editor>
|
<Editor :content="state.content" @getChildData="handleChild2"></Editor>
|
||||||
</n-form-item>
|
</n-form-item>
|
||||||
|
|
||||||
<n-button @click="showModals = true"> 文本内容预览 </n-button>
|
<n-button @click="showModals = true"> 文本内容预览 </n-button>
|
||||||
<br>
|
<br />
|
||||||
<br>
|
<br />
|
||||||
<br>
|
<br />
|
||||||
<n-button @click="thisClick" v-if="cate!=9">
|
<n-button @click="thisClick" v-if="cate != 9"> 情报公开范围 </n-button>
|
||||||
情报公开范围
|
<div class="mt15px h150px overflow-y-auto" v-if="cate != 9">
|
||||||
</n-button>
|
<el-tag
|
||||||
<div class="mt15px h150px overflow-y-auto" v-if="cate!=9">
|
v-for="i in dataList"
|
||||||
<el-tag v-for="i in dataList" :key="i" class="mx-1 my5px" closable :disable-transitions="false"
|
:key="i"
|
||||||
@close="handleClose(i)" type="info" size="large">
|
class="mx-1 my5px"
|
||||||
{{ i.nickName }}
|
closable
|
||||||
</el-tag>
|
:disable-transitions="false"
|
||||||
</div>
|
@close="handleClose(i)"
|
||||||
<div class=" text-end float-right block h50px pt10px">
|
type="info"
|
||||||
<n-form-item>
|
size="large"
|
||||||
<n-button attr-type="button" style=" padding: 0 20px;" @click="submitSave(2)">
|
>
|
||||||
拒绝
|
{{ i.nickName }}
|
||||||
</n-button>
|
</el-tag>
|
||||||
<n-button attr-type="button" @click="submitSave(1)"
|
</div>
|
||||||
style="background-color: #3870E5; border-radius: 5px; color: #fff;margin-left: 10px; padding: 0 20px;">
|
<div class="text-end float-right block h50px pt10px">
|
||||||
发布
|
<n-form-item>
|
||||||
</n-button>
|
<n-button attr-type="button" style="padding: 0 20px" @click="submitSave(2)">
|
||||||
</n-form-item>
|
拒绝
|
||||||
</div>
|
</n-button>
|
||||||
|
<n-button
|
||||||
|
attr-type="button"
|
||||||
|
@click="submitSave(1)"
|
||||||
|
style="
|
||||||
|
background-color: #3870e5;
|
||||||
|
border-radius: 5px;
|
||||||
|
color: #fff;
|
||||||
|
margin-left: 10px;
|
||||||
|
padding: 0 20px;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
发布
|
||||||
|
</n-button>
|
||||||
|
</n-form-item>
|
||||||
|
</div>
|
||||||
|
</n-form>
|
||||||
|
</div>
|
||||||
|
|
||||||
</n-form>
|
<div>
|
||||||
</div>
|
<n-modal v-model:show="showModal">
|
||||||
|
<!-- <n-card style="width:1100px; height: 800px;" title="调达中心" :bordered="false" size="huge" role="dialog"
|
||||||
<div>
|
|
||||||
<n-modal v-model:show="showModal">
|
|
||||||
<!-- <n-card style="width:1100px; height: 800px;" title="调达中心" :bordered="false" size="huge" role="dialog"
|
|
||||||
aria-modal="true"> -->
|
aria-modal="true"> -->
|
||||||
<UserPage :userDataList="setUserList" @clickChild="handleChild" @CloseThis="CloseThis"></UserPage>
|
<UserPage
|
||||||
<!-- </n-card> -->
|
:userDataList="setUserList"
|
||||||
</n-modal>
|
@clickChild="handleChild"
|
||||||
</div>
|
@CloseThis="CloseThis"
|
||||||
<div>
|
></UserPage>
|
||||||
<n-modal v-model:show="showModalRef">
|
<!-- </n-card> -->
|
||||||
<n-card style="width: 500px;" title="提示" :bordered="false" size="huge" role="dialog" aria-modal="true">
|
</n-modal>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<n-modal v-model:show="showModalRef">
|
||||||
|
<n-card
|
||||||
|
style="width: 500px"
|
||||||
|
title="提示"
|
||||||
|
:bordered="false"
|
||||||
|
size="huge"
|
||||||
|
role="dialog"
|
||||||
|
aria-modal="true"
|
||||||
|
>
|
||||||
|
<div class="h200px bg#fff flex-col flex items-center justify-center">
|
||||||
|
<span class="mb60px text-18px">确认发布本情报</span>
|
||||||
|
<div class="leading-25px">
|
||||||
|
<span
|
||||||
|
class="inline-block w80px h25px text-#bfbfbf border border-solid text-center rounded-5px cursor-pointer"
|
||||||
|
@click="showModalRef = false"
|
||||||
|
>暂缓</span
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="inline-block w80px h25px text-#fff bg-#236EED ml5px text-center rounded-5px cursor-pointer"
|
||||||
|
@click="onPositiveClick"
|
||||||
|
>确认发布</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</n-card>
|
||||||
|
</n-modal>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<n-modal v-model:show="showModalRefs">
|
||||||
|
<n-card
|
||||||
|
style="width: 500px"
|
||||||
|
title="提示"
|
||||||
|
:bordered="false"
|
||||||
|
size="huge"
|
||||||
|
role="dialog"
|
||||||
|
aria-modal="true"
|
||||||
|
>
|
||||||
|
<div class="h200px bg#fff flex-col flex items-center justify-center">
|
||||||
|
<span class="mb60px text-18px">确认驳回本情报</span>
|
||||||
|
<div class="leading-25px">
|
||||||
|
<span
|
||||||
|
class="inline-block w80px h25px text-#bfbfbf border border-solid text-center rounded-5px cursor-pointer"
|
||||||
|
@click="showModalRefs = false"
|
||||||
|
>暂缓</span
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="inline-block w80px h25px text-#fff bg-#236EED ml5px text-center rounded-5px cursor-pointer"
|
||||||
|
@click="onPositiveClicks"
|
||||||
|
>确认驳回</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</n-card>
|
||||||
|
</n-modal>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<n-modal :mask-closable="false" v-model:show="showModalRef2">
|
||||||
|
<n-card
|
||||||
|
style="width: 500px"
|
||||||
|
title="提示"
|
||||||
|
:bordered="false"
|
||||||
|
size="huge"
|
||||||
|
role="dialog"
|
||||||
|
aria-modal="true"
|
||||||
|
>
|
||||||
|
<div class="h200px bg#fff flex-col flex items-center justify-center">
|
||||||
|
<img class="w60px h60px" src="../images/quedd.png" alt="" />
|
||||||
|
<span class="mt10px mb40px">{{ starts == 1 ? '已成功发布' : '已成功驳回' }}</span>
|
||||||
|
<span
|
||||||
|
class="w50px h30px text-#fff bg-#236EED p5px text-center rounded-5px cursor-pointer"
|
||||||
|
@click="ok"
|
||||||
|
>确认</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</n-card>
|
||||||
|
</n-modal>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="h200px bg#fff flex-col flex items-center justify-center">
|
<div>
|
||||||
<span class=" mb60px text-18px">确认发布本情报</span>
|
<n-modal v-model:show="showModals">
|
||||||
<div class="leading-25px">
|
<div class="flex w80% p30px bg-#fff my40px rounded-30px">
|
||||||
<span
|
<div class="overflow-y-auto h800px container" v-html="editorContent"></div>
|
||||||
class="inline-block w80px h25px text-#bfbfbf border border-solid text-center rounded-5px cursor-pointer"
|
</div>
|
||||||
@click="showModalRef = false">暂缓</span>
|
</n-modal>
|
||||||
<span
|
</div>
|
||||||
class="inline-block w80px h25px text-#fff bg-#236EED ml5px text-center rounded-5px cursor-pointer"
|
|
||||||
@click="onPositiveClick">确认发布</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</n-card>
|
|
||||||
|
|
||||||
</n-modal>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<n-modal v-model:show="showModalRefs">
|
|
||||||
<n-card style="width: 500px;" title="提示" :bordered="false" size="huge" role="dialog" aria-modal="true">
|
|
||||||
|
|
||||||
<div class="h200px bg#fff flex-col flex items-center justify-center">
|
|
||||||
<span class=" mb60px text-18px">确认驳回本情报</span>
|
|
||||||
<div class="leading-25px">
|
|
||||||
<span
|
|
||||||
class="inline-block w80px h25px text-#bfbfbf border border-solid text-center rounded-5px cursor-pointer"
|
|
||||||
@click="showModalRefs = false">暂缓</span>
|
|
||||||
<span
|
|
||||||
class="inline-block w80px h25px text-#fff bg-#236EED ml5px text-center rounded-5px cursor-pointer"
|
|
||||||
@click="onPositiveClicks">确认驳回</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</n-card>
|
|
||||||
|
|
||||||
</n-modal>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<n-modal :mask-closable="false" v-model:show="showModalRef2">
|
|
||||||
<n-card style="width: 500px;" title="提示" :bordered="false" size="huge" role="dialog" aria-modal="true" >
|
|
||||||
|
|
||||||
<div class="h200px bg#fff flex-col flex items-center justify-center">
|
|
||||||
<img class="w60px h60px" src="../images/quedd.png" alt="">
|
|
||||||
<span class="mt10px mb40px">{{starts==1?'已成功发布':'已成功驳回'}}</span>
|
|
||||||
<span class="w50px h30px text-#fff bg-#236EED p5px text-center rounded-5px cursor-pointer"
|
|
||||||
@click="ok">确认</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</n-card>
|
|
||||||
|
|
||||||
</n-modal>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<n-modal v-model:show="showModals">
|
|
||||||
<div class=" flex w80% p30px bg-#fff my40px rounded-30px">
|
|
||||||
|
|
||||||
<div class=" overflow-y-auto h800px container" v-html="editorContent"></div>
|
|
||||||
</div>
|
|
||||||
</n-modal>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
:deep.container {
|
:deep.container {
|
||||||
// column-count: 2;
|
// column-count: 2;
|
||||||
column-gap: 34px;
|
column-gap: 34px;
|
||||||
margin: 30px;
|
margin: 30px;
|
||||||
line-height: 2;
|
line-height: 2;
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
// :deep(p>img){
|
// :deep(p>img){
|
||||||
// width: 100%;
|
// width: 100%;
|
||||||
// }
|
// }
|
||||||
// max-width: 1062px;
|
// max-width: 1062px;
|
||||||
:deep(img) {
|
:deep(img) {
|
||||||
// width: 100%;
|
// width: 100%;
|
||||||
// max-width: 500px;
|
// max-width: 500px;
|
||||||
|
|
@ -474,36 +567,35 @@ const showModalRefs = ref(false)
|
||||||
}
|
}
|
||||||
/* 设置滚动条宽度 */
|
/* 设置滚动条宽度 */
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
width: 1px;
|
width: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.top {
|
.top {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 30px;
|
right: 30px;
|
||||||
top: -92px;
|
top: -92px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.add {
|
.add {
|
||||||
border: 1px solid #FFFFFF;
|
border: 1px solid #ffffff;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.defultStyle {
|
.defultStyle {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: #C2C2C2;
|
background-color: #c2c2c2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.top {
|
.top {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 30px;
|
right: 30px;
|
||||||
top: -92px;
|
top: -92px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.add {
|
.add {
|
||||||
border: 1px solid #FFFFFF;
|
border: 1px solid #ffffff;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -511,18 +603,17 @@ const showModalRefs = ref(false)
|
||||||
width: 80px;
|
width: 80px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
background-color: #C2C2C2;
|
background-color: #c2c2c2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.img.yes {
|
.img.yes {
|
||||||
background-color: #63BFB2;
|
background-color: #63bfb2;
|
||||||
}
|
}
|
||||||
.q-wrapper {
|
.q-wrapper {
|
||||||
border-radius: 18px;
|
border-radius: 18px;
|
||||||
border: 1px solid #E7EBF5;
|
border: 1px solid #e7ebf5;
|
||||||
box-shadow: inset 1px 2px 12px rgba(14, 86, 221, 0.32);
|
box-shadow: inset 1px 2px 12px rgba(14, 86, 221, 0.32);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
height: 830px;
|
height: 830px;
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue