main
wwl 2024-03-26 18:19:18 +08:00
parent 9ceffc71f9
commit a955287aba
10 changed files with 1300 additions and 1308 deletions

View File

@ -24,7 +24,7 @@
"dayjs": "^1.11.10",
"echarts": "^5.4.3",
"echarts-liquidfill": "^3.1.0",
"element-plus": "^2.3.7",
"element-plus": "^2.6.2",
"lottie-web": "^5.12.2",
"naive-ui": "^2.34.4",
"pinia": "^2.0.32",

View File

@ -1,7 +1,7 @@
<script setup lang="ts">
import { RouterView } from 'vue-router'
import { useFullscreen, useFavicon, useTitle } from '@vueuse/core'
import zhCn from 'element-plus/dist/locale/zh-cn'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import FitScreen from '@fit-screen/vue'
import { NMessageProvider } from 'naive-ui'
import { useUserStore } from '@/stores/modules/user'
@ -63,13 +63,7 @@ const pageStyle = computed(() => {
const locale = computed(() => zhCn)
const scaleChange = ({
widthRatio,
heightRatio
}: {
widthRatio: number
heightRatio: number
}) => {
const scaleChange = ({ widthRatio, heightRatio }: { widthRatio: number; heightRatio: number }) => {
console.log('scaleChange', widthRatio, heightRatio)
}
const beforeCalculate = (scale) => {

View File

@ -106,6 +106,14 @@ getFile()
<img src="../../assets/images/wjqq@2x.png" class="w18px h20px mr8px" />
2024年グループ年頭方针
</div>
<!-- <img src="../../assets/images/2024fz.jpg" class="w100%" />
<div
class="absolute py10px left-880px top-250px pb-0px z-100 text-20px text-#285FE9 flex justify-center items-center hover:border-b-1px hover:border-b-solid hover:border-b-#285FE9 hover:cursor-pointer"
@click="goFile"
>
<img src="../../assets/images/wjqq@2x.png" class="w18px h20px mr8px" />
2024年グループ年頭方针
</div> -->
</div>
</template>

View File

@ -15,16 +15,20 @@ const store = useUserStore()
const { push } = useRouter()
const route = useRoute()
const userCode = ['admin', 'csr_dandang', 'tech_service'].includes(
store.user.roleCode
)
const Navs = [{ name: '集团*部门方针' }, { name: '年度活动日程表' }, { name: '其他链接' }, { name: '紧急联络' }, { name: 'CN/JP' }]
const userCode = ['admin', 'csr_dandang', 'tech_service'].includes(store.user.roleCode)
const Navs = [
{ name: '集团*部门方针' },
{ name: '年度活动日程表' },
{ name: '其他链接' },
{ name: '紧急联络' },
{ name: 'CN/JP' }
]
const Content = [
{ key: '1-1', component: () => <CSRContent /> },
{ key: '1-2', component: () => <CSRContent22 /> },
{ key: '1-3', component: () => <CSRContent23 /> },
// { key: '1-4', component: () => <CSRContent2 items={Content3} /> },
{ key: '1-4', component: () => <CSRContent2 /> },
{ key: '1-4', component: () => <CSRContent2 /> }
]
const activeNav = ref(route.query.key || '1-4')
@ -54,7 +58,11 @@ watch(activeNav, (newVal) => {
<div class="h-full relative flex flex-col">
<div class="flex flex-end ml10px mt27px">
<div class="flex-1"></div>
<el-button class="absolute right-5 top-[-8px]" v-if="userCode && activeNav === '1-2'" type="primary" @click="shomks"
<el-button
class="absolute right-5 top-[-8px]"
v-if="userCode && activeNav === '1-2'"
type="primary"
@click="shomks"
>管理</el-button
>
<!-- <div class="px16px py8px cursor-pointer text-20px" v-for="nav in Navs" :key="nav.name">{{ nav.name }}</div> -->

View File

@ -30,20 +30,7 @@ const isDateDisabled = (date: any) => {
}
const csrSupplier = ref<any>([])
const csrSupplierObj = ref<any>({})
const months = [
'04',
'05',
'06',
'07',
'08',
'09',
'10',
'11',
'12',
'01',
'02',
'03'
]
const months = ['04', '05', '06', '07', '08', '09', '10', '11', '12', '01', '02', '03']
const loading = ref(false)
const getCsrSupplier = () => {
loading.value = true
@ -67,10 +54,7 @@ const getCsrSupplier = () => {
})
: []
} catch (error) {}
console.log(
'🚀 ~ file: CSRContent23.vue:50 ~ csrSupplierObj:',
csrSupplierObj
)
console.log('🚀 ~ file: CSRContent23.vue:50 ~ csrSupplierObj:', csrSupplierObj)
if (!csrSupplier.value.length) {
// message.warning('')
csrSupplierObj.value = {}
@ -84,21 +68,16 @@ const getCsrSupplier = () => {
const csrSupplierList = ref<any>([])
const selMonth = ref('')
const getCsrSupplierList = (index?: any) => {
const month =
index || index === 0 ? query.value.year + '-' + months[index] : ''
const month = index || index === 0 ? query.value.year + '-' + months[index] : ''
csrSupplierList.value = []
selMonth.value = ''
const req = { pageNum: 1, pageSize: 10, ...query.value, month }
req.supplierName
? fetchCsrSupplierList(req).then((res: any) => {
csrSupplierList.value = (res.rows || []).filter(
(item: any) => item.submitunCount > 0
)
csrSupplierList.value = (res.rows || []).filter((item: any) => item.submitunCount > 0)
})
: fetchCsrSupplierTopList(req).then((res: any) => {
csrSupplierList.value = (res.rows || []).filter(
(item: any) => item.submitunCount > 0
)
csrSupplierList.value = (res.rows || []).filter((item: any) => item.submitunCount > 0)
})
selMonth.value = month ? +months[index] + '月' : ''
}
@ -131,14 +110,13 @@ getCsrSupplierTaskInfo()
<a
href="https://procurement.daikin.net.cn/mingdao/portal/app/7abea528-f7b4-4437-84bb-6b6b169bad3d"
class="no-underline text-#4E7EE8"
><img src="./images/yuny@2x.png" class="w25px mr5px mt--4px" /><span
>明道云</span
></a
><img src="./images/yuny@2x.png" class="w25px mr5px mt--4px" /><span>明道云</span></a
>
</div>
<div class="flex w-full h-80px p20px items-center mt10px">
<div>
<el-date-picker
popper-class="dete-picker"
v-model="query.year"
type="year"
@change="handleChange"
@ -161,9 +139,7 @@ getCsrSupplierTaskInfo()
<el-row :gutter="10" v-if="false">
<el-col :span="8"
><div class="times">
<div
class="text-#fff text-18px font-bold absolute left-40% top-18px"
>
<div class="text-#fff text-18px font-bold absolute left-40% top-18px">
<span class="text-30px">1</span>
</div>
<div
@ -180,18 +156,14 @@ getCsrSupplierTaskInfo()
>
<el-col :span="8"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-40% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-40% top-45%">
<span class="text-60px">2</span>
</div>
</div></el-col
>
<el-col :span="8"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-40% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-40% top-45%">
<span class="text-60px">3</span>
</div>
</div></el-col
@ -201,9 +173,7 @@ getCsrSupplierTaskInfo()
<el-col :span="8" v-for="(it, i) in months" :key="i">
<div
v-show="!loading"
:class="
i <= nowIndexMonth && query.year == jpMonth ? 'times' : 'time'
"
:class="i <= nowIndexMonth && query.year == jpMonth ? 'times' : 'time'"
@click="handleMonth(i)"
>
<div
@ -214,14 +184,9 @@ getCsrSupplierTaskInfo()
>
</div>
<template
v-if="
i <= nowIndexMonth &&
(query.year == jpMonth || !!csrSupplierObj[it])
"
>
<div
class="text-#fff text-18px font-bold absolute left-40% top-24px"
v-if="i <= nowIndexMonth && (query.year == jpMonth || !!csrSupplierObj[it])"
>
<div class="text-#fff text-18px font-bold absolute left-40% top-24px">
<span class="text-24px">{{ +it }}</span
>
</div>
@ -240,9 +205,7 @@ getCsrSupplierTaskInfo()
</el-col>
<el-col :span="8" v-if="false"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%">
<span class="text-60px">5</span>
</div>
<template v-if="false">
@ -261,9 +224,7 @@ getCsrSupplierTaskInfo()
>
<el-col :span="8" v-if="false"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%">
<span class="text-60px">6</span>
</div>
</div></el-col
@ -272,18 +233,14 @@ getCsrSupplierTaskInfo()
<el-row :gutter="10" v-if="false">
<el-col :span="8"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%">
<span class="text-60px">7</span>
</div>
</div></el-col
>
<el-col :span="8"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%">
<span class="text-60px">8</span>
</div>
</div></el-col
@ -291,9 +248,7 @@ getCsrSupplierTaskInfo()
<el-col :span="8"
><div class="times">
<!-- <div class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%"><span class="text-60px">9</span></div> -->
<div
class="text-#fff text-18px font-bold absolute left-40% top-24px"
>
<div class="text-#fff text-18px font-bold absolute left-40% top-24px">
<span class="text-24px">9</span>
</div>
<div
@ -312,27 +267,21 @@ getCsrSupplierTaskInfo()
<el-row :gutter="10" v-if="false">
<el-col :span="8"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-30% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-30% top-45%">
<span class="text-60px">10</span>
</div>
</div></el-col
>
<el-col :span="8"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-30% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-30% top-45%">
<span class="text-60px">11</span>
</div>
</div></el-col
>
<el-col :span="8"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-30% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-30% top-45%">
<span class="text-60px">12</span>
</div>
</div></el-col
@ -341,9 +290,7 @@ getCsrSupplierTaskInfo()
<el-row :gutter="10" v-if="false">
<el-col :span="8"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%">
<span class="text-60px">1</span>
</div>
<template v-if="false">
@ -362,18 +309,14 @@ getCsrSupplierTaskInfo()
>
<el-col :span="8"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%">
<span class="text-60px">2</span>
</div>
</div></el-col
>
<el-col :span="8"
><div class="time">
<div
class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%"
>
<div class="text-#d3d2d2 text-18px font-bold absolute left-38% top-45%">
<span class="text-60px">3</span>
</div>
</div></el-col
@ -382,18 +325,11 @@ getCsrSupplierTaskInfo()
</div>
</div>
<div class="cards">
<div class="cards_title relative">
未提交供应商明细({{ query.year }}{{ selMonth }})
</div>
<div
class="absolute top-24px !text-18px right-20px pt30px text-#4E7EE8"
>
<div class="cards_title relative">未提交供应商明细({{ query.year }}{{ selMonth }})</div>
<div class="absolute top-24px !text-18px right-20px pt30px text-#4E7EE8">
<span class="text-#ababab">更新时间{{ updateTime }}</span>
</div>
<div
ref="msgScoll"
class="px20px w-full h800px cent_box overflow-y-auto mt-12px"
>
<div ref="msgScoll" class="px20px w-full h800px cent_box overflow-y-auto mt-12px">
<div
v-if="csrSupplierList?.length"
class="text-18px text-#808696 bg-#F4F8FF items-center flex py10px rd-5px mt10px"
@ -401,15 +337,12 @@ getCsrSupplierTaskInfo()
:key="key"
>
<div class="truncate2" @click="">
<span
class="text-#fff bg-#407DF1 px8px rounded-1/2 mr-5px inlineFlex"
>{{ ++key }}</span
>
<span class="text-#fff bg-#407DF1 px8px rounded-1/2 mr-5px inlineFlex">{{
++key
}}</span>
<span>{{ i.supplierName }} </span>
</div>
<div class="min-w130px max-w130px text-#000">
{{ i.submitunCount }}次未提交
</div>
<div class="min-w130px max-w130px text-#000">{{ i.submitunCount }}次未提交</div>
<!-- <div class="min-w150px max-w150px text-#000">{{++key}}月未提交</div> -->
<span class="absolute right-10px top-18px">
<!-- 暂不开发 12-03 -->

View File

@ -97,21 +97,13 @@ async function getTree() {
}
getTree()
function findItemById(
items: any,
targetId: any,
topLevelItem: any = null
): any {
function findItemById(items: any, targetId: any, topLevelItem: any = null): any {
for (let i = 0; i < items.length; i++) {
const item = items[i]
if (item.id === targetId) {
return { topLevelItem: topLevelItem || item, targetItem: item }
} else if (item.childList?.length > 0) {
const result = findItemById(
item.childList,
targetId,
topLevelItem || item
)
const result = findItemById(item.childList, targetId, topLevelItem || item)
if (result.targetItem) {
return result
}
@ -134,15 +126,10 @@ function findItemById(
class="nav px50px py24px m10px mr0 rd-32px rd-r-0 flex flex-col text-#000 cursor-pointer"
v-for="(m, index) in tableData"
:key="m.id"
:class="
activeMenuKey === m.id ? (m.childList ? 'actives' : 'active') : ''
"
:class="activeMenuKey === m.id ? (m.childList ? 'actives' : 'active') : ''"
@click="() => menuHandler(m, index)"
>
<div
:class="activeMenuKey === m.id && 'onActive'"
class="flex relative"
>
<div :class="activeMenuKey === m.id && 'onActive'" class="flex relative">
<!-- @click="!!m.childList?.length ? (onClic = !onClic) : ''" -->
<!-- <img v-if="activeMenuKey === m.id" :src="m.icon1" class="w22px h22px mr16px mt--5px" />
<img v-else :src="m.icon" class="w22px h22px mr16px mt--5px" /> -->
@ -152,10 +139,7 @@ function findItemById(
<span class="truncate"> {{ m.name }} </span>
<span class="text-#000000 absolute right--30px top--5px"
><el-icon size="26">
<CaretTop
v-if="activeMenuKey === m.id && onClic"
class="text-#4977FC"
/>
<CaretTop v-if="activeMenuKey === m.id && onClic" class="text-#4977FC" />
<CaretBottom v-else /> </el-icon
></span>
<img
@ -180,6 +164,7 @@ function findItemById(
@click="activeItem = item.id"
>
<!-- <el-tooltip :content="item.name" placement="top-start" effect="light"> -->
<div class="relative">
<n-popover trigger="hover" placement="top-start">
<template #trigger>
<span
@ -192,6 +177,14 @@ function findItemById(
{{ item.name }}
</div>
</n-popover>
<img
@click="activeItem = item.id"
v-if="item.isSelFlag === 1 && !item.childList?.length"
src="@/assets/images/NEW.gif"
class="!h-20px !w-auto mr-1 absolute left-[-46px] top-[50%] translate-y-[-50%]"
alt=""
/>
</div>
<!-- </el-tooltip> -->
<div v-if="item.childList && idx == index" class="pl10px">

View File

@ -6,7 +6,7 @@ import AppBlock from '@/components/AppBlock.vue'
import AppNewsBox from '@/components/AppNewsBox.vue'
// import HomeHeadSearch from '@/views/home/components/HomeHeadSearch.vue'
import { useDate } from '@/views/home/hooks/useDate'
import zhCn from "element-plus/lib/locale/lang/zh-cn";
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import { getList ,marketPreADD,getMarketUser,saveMarketUser,MarketDownload,MarketPreview,getCurrencyList,getMetalList} from '@/api/daikin/base'
import { NModal,NCard } from 'naive-ui'
import {formatDate} from '@/utils/format'

View File

@ -4,7 +4,7 @@ import HomeHead from '@/views/home/components/HomeHead.vue'
// import HomeHeadSearch from '@/views/home/components/HomeHeadSearch.vue'
import { useDate } from '@/views/home/hooks/useDate'
import { NForm, NFormItem, NInput, NModal, NButton, useMessage } from 'naive-ui'
import zhCn from "element-plus/lib/locale/lang/zh-cn";
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import UserPage from '@/views/home/intelligence/process/UserPages.vue'
import Editor from '@/views/home/intelligence/components/TinyECE.vue'
import { addPageInv } from '@/api/daikin/base'
@ -37,8 +37,7 @@ let rules = {
required: false,
message: '请输入职务',
trigger: 'blur'
},
}
}
const showModals = ref(false)
const showModal = ref(false)
@ -53,7 +52,6 @@ const CloseThis = (data)=>{
}
const handleClose = (tag: any) => {
dataList.value.splice(dataList.value.indexOf(tag), 1)
console.log(dataList.value)
}
@ -65,14 +63,14 @@ const formValue = ref({
actSTime: '',
actETime: '',
position: '',
userIdList:[],
userIdList: []
})
const editorContent = ref()
function escapeHTML(html: string): string {
const tempElement = document.createElement('div');
tempElement.textContent = html;
return tempElement.innerHTML;
const tempElement = document.createElement('div')
tempElement.textContent = html
return tempElement.innerHTML
}
//
const handleChild2 = (data: string) => {
@ -84,13 +82,12 @@ async function sure() {
const content = escapeHTML(cont)
const { title, actName, actSTime, actETime, position } = formValue.value
const starTime = new Date(actSTime).getTime()
const endTime = new Date(actETime).getTime()
console.log(starTime, endTime)
let userIdList: any[] = []
if (!dataList.value) {
message.success("请选择要提醒的对象")
message.success('请选择要提醒的对象')
return
}
dataList.value.forEach((i: { userId: any }) => {
@ -98,21 +95,23 @@ async function sure() {
})
console.log(formValue.value, dataList, content)
if (userIdList.length < 0) return
let formdata = new FormData();
formdata.append("title",title);
formdata.append("actName",actName);
formdata.append("actSTime",starTime);
formdata.append("actETime",endTime);
formdata.append("content",content);
formdata.append("position",position);
formdata.append("userIdList",userIdList);
const { msg, code } = await addPageInv(formdata,{headers: {'Content-Type': 'application/form-data'}})
let formdata = new FormData()
formdata.append('title', title)
formdata.append('actName', actName)
formdata.append('actSTime', starTime)
formdata.append('actETime', endTime)
formdata.append('content', content)
formdata.append('position', position)
formdata.append('userIdList', userIdList)
const { msg, code } = await addPageInv(formdata, {
headers: { 'Content-Type': 'application/form-data' }
})
if (code === 200) {
message.success("添加成功")
message.success('添加成功')
} else {
message.success(msg)
}
else { message.success(msg); }
}
</script>
<template>
@ -128,8 +127,14 @@ async function sure() {
<div class="text-18px">{{ week }}</div>
</div>
<div class="g-wrapper flex-1 mt30px p30px">
<n-form ref="formRef" :label-width="300" :model="formValue" :rules="rules" size="medium"
require-mark-placement="left">
<n-form
ref="formRef"
:label-width="300"
:model="formValue"
:rules="rules"
size="medium"
require-mark-placement="left"
>
<n-form-item label="标题" path="title">
<n-input v-model:value="formValue.title" placeholder="" />
</n-form-item>
@ -141,18 +146,27 @@ async function sure() {
</n-form-item>
<n-form-item label="开始时间" path="actSTime">
<el-config-provider :locale="zhCn">
<el-date-picker v-model="formValue.actSTime" type="datetime" placeholder="请选择时间" format="YYYY/MM/DD HH:mm:ss"/>
<el-date-picker
v-model="formValue.actSTime"
type="datetime"
placeholder="请选择时间"
format="YYYY/MM/DD HH:mm:ss"
/>
</el-config-provider>
</n-form-item>
<n-form-item label="结束时间" path="actETime">
<el-config-provider :locale="zhCn">
<el-date-picker v-model="formValue.actETime" type="datetime" placeholder="请选择时间" format="YYYY/MM/DD HH:mm:ss"/>
<el-date-picker
v-model="formValue.actETime"
type="datetime"
placeholder="请选择时间"
format="YYYY/MM/DD HH:mm:ss"
/>
</el-config-provider>
</n-form-item>
<n-form-item label="内容" path="content" class="text-#000">
<Editor @getChildData="handleChild2"></Editor>
</n-form-item>
</n-form>
<n-form-item>
@ -160,42 +174,58 @@ async function sure() {
<n-button @click="showModals = true"> 文本内容预览</n-button>
</div>
</n-form-item>
<n-button @click="showModal = true">
情报公开范围
</n-button>
<n-button @click="showModal = true"> 情报公开范围 </n-button>
<div class="mt15px h100px overflow-y-auto">
<el-tag v-for="i in dataList" :key="i" class="mx-1" closable :disable-transitions="false"
@close="handleClose(i)" type="info" size="large">
<el-tag
v-for="i in dataList"
:key="i"
class="mx-1"
closable
:disable-transitions="false"
@close="handleClose(i)"
type="info"
size="large"
>
{{ i.nickName }}
</el-tag>
</div>
<n-button attr-type="button" @click="sure" style="background-color: #3870E5; border-radius: 5px; color: #fff;margin-left: 10px;margin-top: 20px; padding: 0 20px;">
<n-button
attr-type="button"
@click="sure"
style="
background-color: #3870e5;
border-radius: 5px;
color: #fff;
margin-left: 10px;
margin-top: 20px;
padding: 0 20px;
"
>
提交
</n-button>
</div>
</div>
<n-modal v-model:show="showModal">
<UserPage @clickChild="handleChild" @CloseThis="CloseThis"></UserPage>
</n-modal>
<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 class="absolute flex flex-col w-full h-full z-200 top-0 left-0 text-center bg-red justify-center items-center" style="background-color: rgba(255,255,255,0.8);">
<div
class="absolute flex flex-col w-full h-full z-200 top-0 left-0 text-center bg-red justify-center items-center"
style="background-color: rgba(255, 255, 255, 0.8)"
>
<img src="@/assets/images/chah.png" />
<br>
<br />
<div class="text-#5683DB text-36px">做成中,敬请期待</div>
</div>
</template>
<style scoped lang="less">
.top {
position: absolute;
right: 30px;
@ -204,7 +234,7 @@ async function sure() {
.g-wrapper {
border-radius: 18px;
border: 1px solid #E7EBF5;
border: 1px solid #e7ebf5;
box-shadow: inset 1px 2px 12px rgba(14, 86, 221, 0.32);
overflow: auto;
height: 800px;
@ -219,7 +249,7 @@ async function sure() {
.year {
left: -132px;
top: -14px;
color: #003CB7;
color: #003cb7;
font-size: 26px;
font-weight: normal;
text-align: center;

View File

@ -4,7 +4,7 @@ import HomeHead from '@/views/home/components/HomeHead.vue'
// import HomeHeadSearch from '@/views/home/components/HomeHeadSearch.vue'
import { useDate } from '@/views/home/hooks/useDate'
import { NForm, NFormItem, NInput, NModal, NButton, useMessage } from 'naive-ui'
import zhCn from "element-plus/lib/locale/lang/zh-cn";
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import UserPage from '@/views/home/intelligence/process/UserPages.vue'
import Editor from '@/views/home/intelligence/components/TinyECE.vue'
import { addPageVisit } from '@/api/daikin/base'
@ -37,8 +37,7 @@ let rules = {
required: false,
message: '请输入职务',
trigger: 'blur'
},
}
}
const showModal = ref(false)
const dataList = ref()
@ -52,7 +51,6 @@ const CloseThis = (data)=>{
}
const handleClose = (tag: any) => {
dataList.value.splice(dataList.value.indexOf(tag), 1)
console.log(dataList.value)
}
@ -64,14 +62,14 @@ const formValue = ref({
actSTime: '',
actETime: '',
position: '',
userIdList:[],
userIdList: []
})
const editorContent = ref()
function escapeHTML(html: string): string {
const tempElement = document.createElement('div');
tempElement.textContent = html;
return tempElement.innerHTML;
const tempElement = document.createElement('div')
tempElement.textContent = html
return tempElement.innerHTML
}
const showModals = ref(false)
//
@ -84,13 +82,12 @@ async function sure() {
const content = escapeHTML(cont)
const { title, actName, actSTime, actETime, position } = formValue.value
const starTime = new Date(actSTime).getTime()
const endTime = new Date(actETime).getTime()
console.log(starTime, endTime)
let userIdList: any[] = []
if (!dataList.value) {
message.success("请选择要提醒的对象")
message.success('请选择要提醒的对象')
return
}
dataList.value.forEach((i: { userId: any }) => {
@ -98,21 +95,23 @@ async function sure() {
})
console.log(formValue.value, dataList, content)
if (userIdList.length < 0) return
let formdata = new FormData();
formdata.append("title",title);
formdata.append("actName",actName);
formdata.append("actSTime",starTime);
formdata.append("actETime",endTime);
formdata.append("content",content);
formdata.append("position",position);
formdata.append("userIdList",userIdList);
const { msg, code } = await addPageVisit(formdata,{headers: {'Content-Type': 'application/form-data'}})
let formdata = new FormData()
formdata.append('title', title)
formdata.append('actName', actName)
formdata.append('actSTime', starTime)
formdata.append('actETime', endTime)
formdata.append('content', content)
formdata.append('position', position)
formdata.append('userIdList', userIdList)
const { msg, code } = await addPageVisit(formdata, {
headers: { 'Content-Type': 'application/form-data' }
})
if (code === 200) {
message.success("添加成功")
message.success('添加成功')
} else {
message.success(msg)
}
else { message.success(msg); }
}
</script>
<template>
@ -128,8 +127,14 @@ async function sure() {
<div class="text-18px">{{ week }}</div>
</div>
<div class="g-wrapper flex-1 mt30px p30px">
<n-form ref="formRef" :label-width="300" :model="formValue" :rules="rules" size="medium"
require-mark-placement="left">
<n-form
ref="formRef"
:label-width="300"
:model="formValue"
:rules="rules"
size="medium"
require-mark-placement="left"
>
<n-form-item label="标题" path="title">
<n-input v-model:value="formValue.title" placeholder="" />
</n-form-item>
@ -141,65 +146,86 @@ async function sure() {
</n-form-item>
<n-form-item label="开始时间" path="actSTime">
<el-config-provider :locale="zhCn">
<el-date-picker v-model="formValue.actSTime" type="datetime" placeholder="请选择时间" format="YYYY/MM/DD HH:mm:ss"/>
<el-date-picker
v-model="formValue.actSTime"
type="datetime"
placeholder="请选择时间"
format="YYYY/MM/DD HH:mm:ss"
/>
</el-config-provider>
</n-form-item>
<n-form-item label="结束时间" path="actETime">
<el-config-provider :locale="zhCn">
<el-date-picker v-model="formValue.actETime" type="datetime" placeholder="请选择时间" format="YYYY/MM/DD HH:mm:ss"/>
<el-date-picker
v-model="formValue.actETime"
type="datetime"
placeholder="请选择时间"
format="YYYY/MM/DD HH:mm:ss"
/>
</el-config-provider>
</n-form-item>
<n-form-item label="内容" path="content" class="text-#000">
<Editor @getChildData="handleChild2"></Editor>
</n-form-item>
</n-form>
<n-form-item>
<div>
<n-button @click="showModals = true"> 文本内容预览</n-button>
</div>
</n-form-item>
<n-button @click="showModal = true">
情报公开范围
</n-button>
<n-button @click="showModal = true"> 情报公开范围 </n-button>
<div class="mt15px h100px overflow-y-auto">
<el-tag v-for="i in dataList" :key="i" class="mx-1" closable :disable-transitions="false"
@close="handleClose(i)" type="info" size="large">
<el-tag
v-for="i in dataList"
:key="i"
class="mx-1"
closable
:disable-transitions="false"
@close="handleClose(i)"
type="info"
size="large"
>
{{ i.nickName }}
</el-tag>
</div>
<n-button attr-type="button" @click="sure" style="background-color: #3870E5; border-radius: 5px; color: #fff;margin-left: 10px;margin-top: 20px; padding: 0 20px;">
<n-button
attr-type="button"
@click="sure"
style="
background-color: #3870e5;
border-radius: 5px;
color: #fff;
margin-left: 10px;
margin-top: 20px;
padding: 0 20px;
"
>
提交
</n-button>
</div>
</div>
<n-modal v-model:show="showModal">
<UserPage @clickChild="handleChild" @CloseThis="CloseThis"></UserPage>
</n-modal>
<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 class="absolute flex flex-col w-full h-full z-200 top-0 left-0 text-center bg-red justify-center items-center" style="background-color: rgba(255,255,255,0.8);">
<div
class="absolute flex flex-col w-full h-full z-200 top-0 left-0 text-center bg-red justify-center items-center"
style="background-color: rgba(255, 255, 255, 0.8)"
>
<img src="@/assets/images/chah.png" />
<br>
<br />
<div class="text-#5683DB text-36px">做成中,敬请期待</div>
</div>
</template>
<style scoped lang="less">
.top {
position: absolute;
right: 30px;
@ -208,7 +234,7 @@ async function sure() {
.g-wrapper {
border-radius: 18px;
border: 1px solid #E7EBF5;
border: 1px solid #e7ebf5;
box-shadow: inset 1px 2px 12px rgba(14, 86, 221, 0.32);
overflow: auto;
height: 800px;
@ -223,7 +249,7 @@ async function sure() {
.year {
left: -132px;
top: -14px;
color: #003CB7;
color: #003cb7;
font-size: 26px;
font-weight: normal;
text-align: center;

View File

@ -56,7 +56,7 @@ export default defineConfig({
})
],
build: {
chunkSizeWarningLimit: 4000,
chunkSizeWarningLimit: 6300,
sourcemap: false, // Builds sourcemaps for better debugging but could be disabled for performance
minify: 'esbuild', // Use 'terser' for minimizing your codes, it could be 'esbuild' but 'terser' is more accurate
rollupOptions: {