fix bug
parent
181bc06d63
commit
4a98654782
|
|
@ -98,22 +98,22 @@ getFile()
|
|||
</div> -->
|
||||
<div class="mt30px mr20px flex w100% relative">
|
||||
<!-- <img src="../../assets/images/fangz.png" class="w100%"/> -->
|
||||
<img src="../../assets/images/fzqiet.png" class="w100%" />
|
||||
<!-- <img src="../../assets/images/fzqiet.png" class="w100%" />
|
||||
<div
|
||||
class="absolute py10px left-1160px top-270px 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>
|
||||
<!-- <img src="../../assets/images/2024fz.jpg" class="w100%" />
|
||||
</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>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,31 +1,17 @@
|
|||
<script setup lang="ts">
|
||||
import VChart from 'vue-echarts'
|
||||
import {
|
||||
useChart1,
|
||||
useChart22,
|
||||
useChart21,
|
||||
useChart3,
|
||||
useChart23
|
||||
} from './HomeData'
|
||||
import { useChart1, useChart22, useChart21, useChart3, useChart23 } from './HomeData'
|
||||
import AppHeadUserInfo from '@/components/AppHeadUserInfo.vue'
|
||||
import { NSelect } from 'naive-ui'
|
||||
import News from './components/New.vue'
|
||||
import {
|
||||
homePageMarket,
|
||||
homePageRate,
|
||||
report,
|
||||
getHomeList,
|
||||
amountList
|
||||
} from '@/api/daikin/base'
|
||||
import { homePageMarket, homePageRate, report, getHomeList, amountList } from '@/api/daikin/base'
|
||||
import { useUserStore } from '@/stores/modules/user'
|
||||
const store = useUserStore()
|
||||
|
||||
const isUpPwds = ref(false)
|
||||
const userCode = ref(false)
|
||||
watchEffect(() => {
|
||||
userCode.value = ['admin', 'cd_dandang', 'tech_service'].includes(
|
||||
store.user.roleCode
|
||||
)
|
||||
userCode.value = ['admin', 'cd_dandang', 'tech_service'].includes(store.user.roleCode)
|
||||
isUpPwds.value = store.user.isUpPwd === 2 ? true : false
|
||||
})
|
||||
const activeCard5NavKey = ref('DIS')
|
||||
|
|
@ -100,121 +86,84 @@ onMounted(async () => {
|
|||
month_2.value = _dszList[0].monthDate?.split('-')[1]
|
||||
month_3.value = _dishList[0].monthDate?.split('-')[1]
|
||||
|
||||
addDIS1.value = _disList.reduce(
|
||||
(previousValue: any, currentValue: { budget: any }) => {
|
||||
addDIS1.value = _disList.reduce((previousValue: any, currentValue: { budget: any }) => {
|
||||
const sum = parseFloat(currentValue.budget) + parseFloat(previousValue)
|
||||
return sum > 0 ? sum.toFixed(2) : 0
|
||||
},
|
||||
0
|
||||
)
|
||||
}, 0)
|
||||
if (_disList[0].budget == _disList[1].budget && addDIS1.value > 0) {
|
||||
addDIS1.value -= _disList[0].budget
|
||||
addDIS1.value > 0 ? (addDIS1.value = addDIS1.value.toFixed(2)) : 0
|
||||
}
|
||||
addDSZ1.value = _dszList.reduce(
|
||||
(previousValue: any, currentValue: { budget: any }) => {
|
||||
addDSZ1.value = _dszList.reduce((previousValue: any, currentValue: { budget: any }) => {
|
||||
const sum = parseFloat(currentValue.budget) + parseFloat(previousValue)
|
||||
return sum > 0 ? sum.toFixed(2) : 0
|
||||
},
|
||||
0
|
||||
)
|
||||
}, 0)
|
||||
if (_dszList[0].budget == _dszList[1].budget && addDSZ1.value > 0) {
|
||||
addDSZ1.value -= _dszList[0].budget
|
||||
addDSZ1.value > 0 ? (addDSZ1.value = addDSZ1.value.toFixed(2)) : 0
|
||||
}
|
||||
addDISH1.value = _dishList.reduce(
|
||||
(previousValue: any, currentValue: { budget: any }) => {
|
||||
addDISH1.value = _dishList.reduce((previousValue: any, currentValue: { budget: any }) => {
|
||||
const sum = parseFloat(currentValue.budget) + parseFloat(previousValue)
|
||||
return sum > 0 ? sum.toFixed(2) : 0
|
||||
},
|
||||
0
|
||||
)
|
||||
}, 0)
|
||||
if (_dishList[0].budget == _dishList[1].budget && addDISH1.value > 0) {
|
||||
addDISH1.value -= _dishList[0].budget
|
||||
addDISH1.value > 0 ? (addDISH1.value = addDISH1.value.toFixed(2)) : 0
|
||||
}
|
||||
addDIS2.value = _disList.reduce(
|
||||
(previousValue: any, currentValue: { monthOne: any }) => {
|
||||
const sum =
|
||||
parseFloat(currentValue.monthOne) + parseFloat(previousValue)
|
||||
addDIS2.value = _disList.reduce((previousValue: any, currentValue: { monthOne: any }) => {
|
||||
const sum = parseFloat(currentValue.monthOne) + parseFloat(previousValue)
|
||||
return sum > 0 ? sum.toFixed(2) : 0
|
||||
},
|
||||
0
|
||||
)
|
||||
}, 0)
|
||||
if (_disList[0].monthOne == _disList[1].monthOne && addDIS2.value > 0) {
|
||||
addDIS2.value -= _disList[0].monthOne
|
||||
addDIS2.value > 0 ? (addDIS2.value = addDIS2.value.toFixed(2)) : 0
|
||||
}
|
||||
addDSZ2.value = _dszList.reduce(
|
||||
(previousValue: any, currentValue: { monthOne: any }) => {
|
||||
const sum =
|
||||
parseFloat(currentValue.monthOne) + parseFloat(previousValue)
|
||||
addDSZ2.value = _dszList.reduce((previousValue: any, currentValue: { monthOne: any }) => {
|
||||
const sum = parseFloat(currentValue.monthOne) + parseFloat(previousValue)
|
||||
return sum > 0 ? sum.toFixed(2) : 0
|
||||
},
|
||||
0
|
||||
)
|
||||
}, 0)
|
||||
if (_dszList[0].monthOne == _dszList[1].monthOne && addDSZ2.value > 0) {
|
||||
addDSZ2.value -= _dszList[0].monthOne
|
||||
addDSZ2.value > 0 ? (addDSZ2.value = addDSZ2.value.toFixed(2)) : 0
|
||||
}
|
||||
addDISH2.value = _dishList.reduce(
|
||||
(previousValue: any, currentValue: { monthOne: any }) => {
|
||||
const sum =
|
||||
parseFloat(currentValue.monthOne) + parseFloat(previousValue)
|
||||
addDISH2.value = _dishList.reduce((previousValue: any, currentValue: { monthOne: any }) => {
|
||||
const sum = parseFloat(currentValue.monthOne) + parseFloat(previousValue)
|
||||
return sum > 0 ? sum.toFixed(2) : 0
|
||||
},
|
||||
0
|
||||
)
|
||||
}, 0)
|
||||
if (_dishList[0].monthOne == _dishList[1].monthOne && addDISH2.value > 0) {
|
||||
addDISH2.value -= _dishList[0].monthOne
|
||||
addDISH2.value > 0 ? (addDISH2.value = addDISH2.value.toFixed(2)) : 0
|
||||
}
|
||||
addDIS3.value = _disList.reduce(
|
||||
(previousValue: any, currentValue: { monthTwo: any }) => {
|
||||
const sum =
|
||||
parseFloat(currentValue.monthTwo) + parseFloat(previousValue)
|
||||
addDIS3.value = _disList.reduce((previousValue: any, currentValue: { monthTwo: any }) => {
|
||||
const sum = parseFloat(currentValue.monthTwo) + parseFloat(previousValue)
|
||||
return sum > 0 ? sum.toFixed(2) : 0
|
||||
},
|
||||
0
|
||||
)
|
||||
}, 0)
|
||||
if (_disList[0].monthTwo == _disList[1].monthTwo && addDIS3.value > 0) {
|
||||
addDIS3.value -= _disList[0].monthTwo
|
||||
addDIS3.value > 0 ? (addDIS3.value = addDIS3.value.toFixed(2)) : 0
|
||||
}
|
||||
addDSZ3.value = _dszList.reduce(
|
||||
(previousValue: any, currentValue: { monthTwo: any }) => {
|
||||
const sum =
|
||||
parseFloat(currentValue.monthTwo) + parseFloat(previousValue)
|
||||
addDSZ3.value = _dszList.reduce((previousValue: any, currentValue: { monthTwo: any }) => {
|
||||
const sum = parseFloat(currentValue.monthTwo) + parseFloat(previousValue)
|
||||
return sum > 0 ? sum.toFixed(2) : 0
|
||||
},
|
||||
0
|
||||
)
|
||||
}, 0)
|
||||
if (_dszList[0].monthTwo == _dszList[1].monthTwo && addDSZ3.value > 0) {
|
||||
addDSZ3.value -= _dszList[0].monthTwo
|
||||
addDSZ3.value > 0 ? (addDSZ3.value = addDSZ3.value.toFixed(2)) : 0
|
||||
}
|
||||
addDISH3.value = _dishList.reduce(
|
||||
(previousValue: any, currentValue: { monthTwo: any }) => {
|
||||
const sum =
|
||||
parseFloat(currentValue.monthTwo) + parseFloat(previousValue)
|
||||
addDISH3.value = _dishList.reduce((previousValue: any, currentValue: { monthTwo: any }) => {
|
||||
const sum = parseFloat(currentValue.monthTwo) + parseFloat(previousValue)
|
||||
return sum > 0 ? sum.toFixed(2) : 0
|
||||
},
|
||||
0
|
||||
)
|
||||
}, 0)
|
||||
if (_dishList[0].monthTwo == _dishList[1].monthTwo && addDISH3.value > 0) {
|
||||
addDISH3.value -= _dishList[0].monthTwo
|
||||
addDISH3.value > 0 ? (addDISH3.value = addDISH3.value.toFixed(2)) : 0
|
||||
}
|
||||
if (isUpPwds.value) {
|
||||
ElMessageBox.alert(
|
||||
'为了您的帐号安全,首次登录必须更改初始密码',
|
||||
'重要提醒',
|
||||
{
|
||||
ElMessageBox.alert('为了您的帐号安全,首次登录必须更改初始密码', '重要提醒', {
|
||||
confirmButtonText: 'OK',
|
||||
showClose: false,
|
||||
showCancelButton: false
|
||||
}
|
||||
).then(() => {
|
||||
}).then(() => {
|
||||
push({ name: 'modifys' })
|
||||
})
|
||||
}
|
||||
|
|
@ -315,9 +264,7 @@ function formatNumber(num = 0) {
|
|||
<span class="ml10px text-14px">更新时间:{{ timeA }}</span>
|
||||
|
||||
<div class="h150px overflow-auto">
|
||||
<table
|
||||
class="history w-full text-center mt18px text-16px border-spacing-0 w219px"
|
||||
>
|
||||
<table class="history w-full text-center mt18px text-16px border-spacing-0 w219px">
|
||||
<thead
|
||||
style="
|
||||
background-color: #417bef;
|
||||
|
|
@ -342,10 +289,7 @@ function formatNumber(num = 0) {
|
|||
>
|
||||
<td class="text-14px">{{ it.channel }}</td>
|
||||
<td class="text-14px">{{ it.negAmount }}</td>
|
||||
<td
|
||||
class="text-14px"
|
||||
:class="it.diffValue < 0 ? 'text-#63BF8D' : 'text-red'"
|
||||
>
|
||||
<td class="text-14px" :class="it.diffValue < 0 ? 'text-#63BF8D' : 'text-red'">
|
||||
{{ displayDiffValue(it.diffValue) }}
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -380,10 +324,7 @@ function formatNumber(num = 0) {
|
|||
>
|
||||
<td class="text-14px">{{ it.channel }}</td>
|
||||
<td class="text-14px">{{ it.negAmount }}</td>
|
||||
<td
|
||||
class="text-14px"
|
||||
:class="it.diffValue < 0 ? 'text-#63BF8D' : 'text-red'"
|
||||
>
|
||||
<td class="text-14px" :class="it.diffValue < 0 ? 'text-#63BF8D' : 'text-red'">
|
||||
{{ displayDiffValue(it.diffValue) }}
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -395,9 +336,7 @@ function formatNumber(num = 0) {
|
|||
<span class="icoT">汇率</span>
|
||||
<span class="ml10px text-14px">更新时间:{{ timeB }}</span>
|
||||
<div class="h282px pt18px">
|
||||
<table
|
||||
class="history w-full text-center text-16px border-spacing-0 w219px"
|
||||
>
|
||||
<table class="history w-full text-center text-16px border-spacing-0 w219px">
|
||||
<thead
|
||||
style="
|
||||
background-color: #417bef;
|
||||
|
|
@ -506,14 +445,10 @@ function formatNumber(num = 0) {
|
|||
<td :rowspan="disList[0].budget == disList[1].budget ? '2' : ''">
|
||||
{{ formatNumber(disList[0].budget) }}%
|
||||
</td>
|
||||
<td
|
||||
:rowspan="disList[0].monthOne == disList[1].monthOne ? '2' : ''"
|
||||
>
|
||||
<td :rowspan="disList[0].monthOne == disList[1].monthOne ? '2' : ''">
|
||||
{{ formatNumber(disList[0].monthOne) }}%
|
||||
</td>
|
||||
<td
|
||||
:rowspan="disList[0].monthTwo == disList[1].monthTwo ? '2' : ''"
|
||||
>
|
||||
<td :rowspan="disList[0].monthTwo == disList[1].monthTwo ? '2' : ''">
|
||||
{{ formatNumber(disList[0].monthTwo) }}%
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -577,14 +512,10 @@ function formatNumber(num = 0) {
|
|||
<td :rowspan="dszList[0].budget == dszList[1].budget ? '2' : ''">
|
||||
{{ formatNumber(dszList[0].budget) }}%
|
||||
</td>
|
||||
<td
|
||||
:rowspan="dszList[0].monthOne == dszList[1].monthOne ? '2' : ''"
|
||||
>
|
||||
<td :rowspan="dszList[0].monthOne == dszList[1].monthOne ? '2' : ''">
|
||||
{{ formatNumber(dszList[0].monthOne) }}%
|
||||
</td>
|
||||
<td
|
||||
:rowspan="dszList[0].monthTwo == dszList[1].monthTwo ? '2' : ''"
|
||||
>
|
||||
<td :rowspan="dszList[0].monthTwo == dszList[1].monthTwo ? '2' : ''">
|
||||
{{ formatNumber(dszList[0].monthTwo) }}%
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -645,23 +576,13 @@ function formatNumber(num = 0) {
|
|||
<tr>
|
||||
<th rowspan="2">C/D</th>
|
||||
<th>交涉</th>
|
||||
<td
|
||||
:rowspan="dishList[0].budget == dishList[1].budget ? '2' : ''"
|
||||
>
|
||||
<td :rowspan="dishList[0].budget == dishList[1].budget ? '2' : ''">
|
||||
{{ formatNumber(dishList[0].budget) }}%
|
||||
</td>
|
||||
<td
|
||||
:rowspan="
|
||||
dishList[0].monthOne == dishList[1].monthOne ? '2' : ''
|
||||
"
|
||||
>
|
||||
<td :rowspan="dishList[0].monthOne == dishList[1].monthOne ? '2' : ''">
|
||||
{{ formatNumber(dishList[0].monthOne) }}%
|
||||
</td>
|
||||
<td
|
||||
:rowspan="
|
||||
dishList[0].monthTwo == dishList[1].monthTwo ? '2' : ''
|
||||
"
|
||||
>
|
||||
<td :rowspan="dishList[0].monthTwo == dishList[1].monthTwo ? '2' : ''">
|
||||
{{ formatNumber(dishList[0].monthTwo) }}%
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -700,30 +621,21 @@ function formatNumber(num = 0) {
|
|||
</div>
|
||||
<div class="card" @click="setModule('App_BCP', 'BCP')">
|
||||
<div class="card_title cursor-pointer hover:underline">调达BCP管理</div>
|
||||
<div class="card_sub-title">责任者:调达中心 加工品变革T</div>
|
||||
<div class="card_sub-title">责任者:调达部 加工品变革T</div>
|
||||
<div class="card_content">
|
||||
<img
|
||||
src="@/assets/images/img-11.png"
|
||||
class="w-full h-full object-cover"
|
||||
/>
|
||||
<img src="@/assets/images/img-11.png" class="w-full h-full object-cover" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="card relative">
|
||||
<!-- <img src="@/assets/images/img-42.png" class="absolute top-10px right-0" /> -->
|
||||
<div
|
||||
class="card_title cursor-pointer hover:underline"
|
||||
@click="setModule('App_CSR', 'CSR')"
|
||||
>
|
||||
<div class="card_title cursor-pointer hover:underline" @click="setModule('App_CSR', 'CSR')">
|
||||
SCM碳中和活动
|
||||
</div>
|
||||
<div class="card_sub-title" @click="setModule('App_CSR', 'CSR')">
|
||||
责任者:调达研究院 调达机能研究T
|
||||
责任者:开发调达部 调达机能研究T
|
||||
</div>
|
||||
<div class="card_content px20px" @click="setModule('App_CSR', 'CSR')">
|
||||
<img
|
||||
src="../../assets/images/scmtzh@2x.png"
|
||||
class="w-full h-96% cover"
|
||||
/>
|
||||
<img src="../../assets/images/scmtzh@2x.png" class="w-full h-96% cover" />
|
||||
<!-- <div class="flex text-center">
|
||||
<div class="bg-#F4F8FF text-#000 h30px w-full pt5px font-bold">F25碳减排目标 <el-icon class="!text-#004DE1">
|
||||
<CaretTop />
|
||||
|
|
@ -767,31 +679,20 @@ function formatNumber(num = 0) {
|
|||
</div>
|
||||
|
||||
<div class="card topics">
|
||||
<div class="card_title cursor-pointer hover:underline">
|
||||
重点Theme取组
|
||||
</div>
|
||||
<div class="card_title cursor-pointer hover:underline">重点Theme取组</div>
|
||||
<div class="card_content p20px pt10px">
|
||||
<div
|
||||
class="w-full h-full flex flex-wrap content-between justify-between text-18px font-bold"
|
||||
>
|
||||
<div
|
||||
class="item !h-188px cursor-pointer"
|
||||
@click="setModule('App_Quality', 'Quality')"
|
||||
>
|
||||
<div class="item !h-188px cursor-pointer" @click="setModule('App_Quality', 'Quality')">
|
||||
<div class="item_title hover:underline">品质</div>
|
||||
<div class="item_sub-title">责任者:调达中心 加工品变革T</div>
|
||||
<div class="item_sub-title">责任者:调达部 加工品变革T</div>
|
||||
<!-- <img src="@/assets/images/img-45.svg" class="item_img pb13px pr20px" /> -->
|
||||
<img
|
||||
src="@/assets/images/img-41.png"
|
||||
class="item_img b !bottom--20px"
|
||||
/>
|
||||
<img src="@/assets/images/img-41.png" class="item_img b !bottom--20px" />
|
||||
</div>
|
||||
<div
|
||||
class="item !h-188px cursor-pointer"
|
||||
@click="setModule('App_Lab', 'Diffspace')"
|
||||
>
|
||||
<div class="item !h-188px cursor-pointer" @click="setModule('App_Lab', 'Diffspace')">
|
||||
<div class="item_title hover:underline">AI差别化LAB</div>
|
||||
<div class="item_sub-title">责任者:调达研究院</div>
|
||||
<div class="item_sub-title">责任者:开发调达部</div>
|
||||
<div class="item_sub-title">差别化研究T</div>
|
||||
<img src="@/assets/images/img-43.png" class="item_img" />
|
||||
</div>
|
||||
|
|
@ -804,20 +705,13 @@ function formatNumber(num = 0) {
|
|||
<!-- <img src="./images/home-1.svg" /> -->
|
||||
<div class="flex mt20px items-center justify-center">
|
||||
<div class="bg-#0038BE w210px px15px py7px rounded-30px">
|
||||
<img
|
||||
src="@/assets/images/biaoq2@2x.png"
|
||||
class="w25px h21px"
|
||||
/>
|
||||
<img src="@/assets/images/biaoq2@2x.png" class="w25px h21px" />
|
||||
重点Theme管理
|
||||
</div>
|
||||
<span
|
||||
class="text-#000 font-thin underline-text mx23px hover:underline-solid"
|
||||
>调达研究院</span
|
||||
>
|
||||
<span
|
||||
class="text-#000 font-thin underline-text hover:underline-solid"
|
||||
>调达中心</span
|
||||
<span class="text-#000 font-thin underline-text mx23px hover:underline-solid"
|
||||
>开发调达部</span
|
||||
>
|
||||
<span class="text-#000 font-thin underline-text hover:underline-solid">调达部</span>
|
||||
<!-- <VChart :option="chartOption2" autoresize /> -->
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -76,7 +76,8 @@ getFile()
|
|||
>
|
||||
外部情报
|
||||
</div>
|
||||
<div class="card_sub-title">责任者:调达研究院 研究企画T</div>
|
||||
<!-- <div class="card_sub-title">责任者:调达研究院 研究企画T</div> -->
|
||||
<div class="card_sub-title">责任者:开发调达部 研究企画T</div>
|
||||
</div>
|
||||
<div
|
||||
class="flex text-#fff tetx-16px items-end txt-bg px-10px py-8px rounded-10px text-#fff mt-[10px] mr-16px"
|
||||
|
|
@ -85,18 +86,11 @@ getFile()
|
|||
class="text-16px text-#fff flex flex-col flex-start"
|
||||
@click="push({ name: 'DataBase', query: { id: cateId } })"
|
||||
>
|
||||
<span
|
||||
class="flex align-middle items-center cursor-pointer hover:underline mb-4px"
|
||||
<span class="flex align-middle items-center cursor-pointer hover:underline mb-4px"
|
||||
>调达本部月报
|
||||
<img
|
||||
class="h-14px pl-4px"
|
||||
src="@/assets/images/yjtt@2x.png"
|
||||
alt=""
|
||||
/>
|
||||
</span>
|
||||
<span class="text-14px mt2px">
|
||||
作成日:{{ files.time || `2024年1月` }}
|
||||
<img class="h-14px pl-4px" src="@/assets/images/yjtt@2x.png" alt="" />
|
||||
</span>
|
||||
<span class="text-14px mt2px"> 作成日:{{ files.time || `2024年1月` }} </span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -109,43 +103,28 @@ getFile()
|
|||
src="@/assets/images/bg-card6-text.svg"
|
||||
class="h26px absolute left-16px top-16px animate__animated animate__zoomIn animate__delay-2s animate__slower animate__repeat-2"
|
||||
/>
|
||||
<div
|
||||
class="news_card_item i1 flex-1 w0 h100px p10px pt56px flex flex-col justify-around"
|
||||
>
|
||||
<div class="news_card_item i1 flex-1 w0 h100px p10px pt56px flex flex-col justify-around">
|
||||
<img
|
||||
src="@/assets/images/WATCHING@2x.png"
|
||||
class="w41px h47px absolute left-40px top-25px animate__animated animate__infinite animate__heartBeat"
|
||||
/>
|
||||
<img
|
||||
src="@/assets/images/WATCHING2@2x.png"
|
||||
class="w80px left-10px top-10px"
|
||||
/>
|
||||
<img src="@/assets/images/WATCHING2@2x.png" class="w80px left-10px top-10px" />
|
||||
<!-- <p class="truncate" v-if="listData && Array.isArray(listData) && listData.length > 0" v-for="i in listData.slice(0,2)" :key="i" @click="toDetail2(i)">{{ i.title }}</p> -->
|
||||
</div>
|
||||
<div
|
||||
class="news_card_item i2 flex-1 w0 h120px p10px pt56px flex flex-col justify-around"
|
||||
>
|
||||
<div class="news_card_item i2 flex-1 w0 h120px p10px pt56px flex flex-col justify-around">
|
||||
<img
|
||||
src="@/assets/images/ALARM@2x.png"
|
||||
class="w61px h63px absolute left-28px top-30px animate__animated animate__infinite animate__fadeIn"
|
||||
/>
|
||||
<img
|
||||
src="@/assets/images/ALARM2@2x.png"
|
||||
class="w70px left-15px top-14px"
|
||||
/>
|
||||
<img src="@/assets/images/ALARM2@2x.png" class="w70px left-15px top-14px" />
|
||||
<!-- <p class="truncate" v-if="listData && Array.isArray(listData) && listData.length > 2" v-for="i in listData.slice(2,4)" :key="i" @click="toDetail2(i)">{{ i.title }}</p> -->
|
||||
</div>
|
||||
<div
|
||||
class="news_card_item i3 w140px h160px p10px pt70px flex flex-col justify-around"
|
||||
>
|
||||
<div class="news_card_item i3 w140px h160px p10px pt70px flex flex-col justify-around">
|
||||
<img
|
||||
src="@/assets/images/WARNING@2x.png"
|
||||
class="w82px h66px absolute left-30px top-45px animate__animated animate__infinite animate__flipOutY"
|
||||
/>
|
||||
<img
|
||||
src="@/assets/images//WARNING2@2x.png"
|
||||
class="w100px left-8px top-20px"
|
||||
/>
|
||||
<img src="@/assets/images//WARNING2@2x.png" class="w100px left-8px top-20px" />
|
||||
<!-- <p class="truncate" v-if="listData && Array.isArray(listData) && listData.length > 4" v-for="i in listData.slice(4,7)" :key="i" @click="toDetail2(i)">{{ i.title }}</p> -->
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -21,10 +21,7 @@ import { NModal, useMessage } from 'naive-ui'
|
|||
const message = useMessage()
|
||||
const currentDate = new Date()
|
||||
const currentDates = new Date()
|
||||
const value1 = ref<[Date, Date]>([
|
||||
currentDate.setMonth(currentDate.getMonth()),
|
||||
new Date()
|
||||
])
|
||||
const value1 = ref<[Date, Date]>([currentDate.setMonth(currentDate.getMonth()), new Date()])
|
||||
const states = reactive<any>({
|
||||
startTime: formatDate(value1.value[0]).substring(0, 10),
|
||||
endTime: formatDate(value1.value[1]).substring(0, 10)
|
||||
|
|
@ -173,7 +170,8 @@ const getListPage = async () => {
|
|||
visitDay: visitDay.value,
|
||||
moduleCode: moduleCode.value,
|
||||
pageNum: pageInfo.currentPage,
|
||||
pageSize: pageInfo.pageSize
|
||||
pageSize: pageInfo.pageSize,
|
||||
...states
|
||||
})
|
||||
outDetail.value = res?.rows || []
|
||||
pageInfo.total = res?.total || 0
|
||||
|
|
@ -238,16 +236,11 @@ const getDat = async () => {
|
|||
dataList.value = data
|
||||
let xAxisData: any[] = []
|
||||
let siomesData: any[] = []
|
||||
data.forEach(
|
||||
(
|
||||
item: { moduleName: any; visitCount: any; moduleCode: any },
|
||||
i: number
|
||||
) => {
|
||||
data.forEach((item: { moduleName: any; visitCount: any; moduleCode: any }, i: number) => {
|
||||
xAxisData.push(item.moduleName)
|
||||
siomesData.push(item.visitCount)
|
||||
colorListObj.value[item.moduleCode] = colorList[i]
|
||||
}
|
||||
)
|
||||
})
|
||||
chartOption1.value = Chart1(xAxisData)
|
||||
chartOption1.value.series[0] = {
|
||||
data: siomesData,
|
||||
|
|
@ -264,10 +257,7 @@ const getDat = async () => {
|
|||
|
||||
const deptId = ref('')
|
||||
let isLeaderFlag = 0
|
||||
async function getInternalUserStat(
|
||||
isLeader: number = 0,
|
||||
flag: boolean = false
|
||||
) {
|
||||
async function getInternalUserStat(isLeader: number = 0, flag: boolean = false) {
|
||||
if (!flag) {
|
||||
pageInfo.currentPage = 1
|
||||
pageInfo.pageSize = 10
|
||||
|
|
@ -305,9 +295,7 @@ async function getInternalUserStat(
|
|||
...{
|
||||
series: [
|
||||
{
|
||||
data: item.moduleStatList
|
||||
.map((item: any) => item.visitCount)
|
||||
.reverse(),
|
||||
data: item.moduleStatList.map((item: any) => item.visitCount).reverse(),
|
||||
// data: new Array(item.moduleStatList.length)
|
||||
// .fill(0)
|
||||
// .map(() => roundMath(10, 100)),
|
||||
|
|
@ -335,17 +323,12 @@ const getExternalTimeStat = async () => {
|
|||
externalList.value = data
|
||||
let xAxisData: any[] = []
|
||||
let siomesData: any[] = []
|
||||
data.forEach(
|
||||
(
|
||||
item: { moduleName: any; visitCount: any; moduleCode: any },
|
||||
i: number
|
||||
) => {
|
||||
data.forEach((item: { moduleName: any; visitCount: any; moduleCode: any }, i: number) => {
|
||||
externalObj.value[item.moduleCode] = item.moduleName
|
||||
externalObj.value[item.moduleCode + 'color'] = colorList[9 + i]
|
||||
xAxisData.push(item.moduleName)
|
||||
siomesData.push(item.visitCount)
|
||||
}
|
||||
)
|
||||
})
|
||||
chartOption2.value = Chart1(xAxisData)
|
||||
chartOption2.value.series[0] = {
|
||||
data: siomesData,
|
||||
|
|
@ -543,18 +526,7 @@ const CloseThiss = (data?: boolean) => {
|
|||
// setUserList.value = []
|
||||
}
|
||||
|
||||
const sortArr = [
|
||||
'1ST',
|
||||
'2ND',
|
||||
'3RD',
|
||||
'4TH',
|
||||
'5TH',
|
||||
'6TH',
|
||||
'7TH',
|
||||
'8TH',
|
||||
'9TH',
|
||||
'10TH'
|
||||
]
|
||||
const sortArr = ['1ST', '2ND', '3RD', '4TH', '5TH', '6TH', '7TH', '8TH', '9TH', '10TH']
|
||||
|
||||
const treeData = ref([])
|
||||
const getdeptTree = async () => {
|
||||
|
|
@ -575,11 +547,7 @@ getdeptTree()
|
|||
<span class="text-#000 mr-10px">日期: </span>
|
||||
<div class="max-w-350px flex items-center">
|
||||
<el-date-picker
|
||||
v-if="
|
||||
['inside', 'out', 'inside-detail', 'echart', 'out-detail'].includes(
|
||||
activeName
|
||||
)
|
||||
"
|
||||
v-if="['inside', 'out', 'inside-detail', 'echart', 'out-detail'].includes(activeName)"
|
||||
v-model="value1"
|
||||
type="daterange"
|
||||
range-separator="到"
|
||||
|
|
@ -598,18 +566,19 @@ getdeptTree()
|
|||
clearable
|
||||
/>
|
||||
</div>
|
||||
<div class="mx-4 flex items-center" v-if="'echart' === activeName">
|
||||
<el-select v-model="visitType" placeholder="本部/外部">
|
||||
<div class="mx-4 flex items-center w200px" v-if="'echart' === activeName">
|
||||
<el-select v-model="visitType" placeholder="本部/外部" class="w-300px">
|
||||
<el-option label="本部足迹" value="1" />
|
||||
<el-option label="外部部足迹" value="2" />
|
||||
</el-select>
|
||||
</div>
|
||||
<div
|
||||
class="mx-4 flex items-center"
|
||||
class="mx-4 flex items-center w-auto"
|
||||
v-if="['inside-detail', 'out-detail'].includes(activeName)"
|
||||
>
|
||||
<span class="text-#000 mr-10px">模块: </span>
|
||||
<span class="text-#000 mr-10px whitespace-nowrap">模块: </span>
|
||||
<el-select
|
||||
class="!w300px"
|
||||
v-if="'out-detail' === activeName"
|
||||
v-model="moduleCode"
|
||||
placeholder="选择模块"
|
||||
|
|
@ -623,7 +592,7 @@ getdeptTree()
|
|||
/>
|
||||
</el-select>
|
||||
<template v-if="'inside-detail' === activeName">
|
||||
<el-select v-model="imoduleCode" placeholder="选择模块" clearable>
|
||||
<el-select class="!w300px" v-model="imoduleCode" placeholder="选择模块" clearable>
|
||||
<el-option
|
||||
v-for="item in dataList"
|
||||
:key="item.id"
|
||||
|
|
@ -631,8 +600,8 @@ getdeptTree()
|
|||
:value="item.moduleCode"
|
||||
/>
|
||||
</el-select>
|
||||
<span class="text-#000 mr-10px ml-4">职位: </span>
|
||||
<el-select v-model="postId" placeholder="选择职位" clearable>
|
||||
<span class="text-#000 mr-10px ml-4 whitespace-nowrap">职位: </span>
|
||||
<el-select class="w300px" v-model="postId" placeholder="选择职位" clearable>
|
||||
<el-option
|
||||
v-for="item in postList"
|
||||
:key="item.id"
|
||||
|
|
@ -645,10 +614,7 @@ getdeptTree()
|
|||
<div class="flex items-center" v-if="activeName === 'out-detail'">
|
||||
>
|
||||
<span class="text-#000 mr-10px w-50px">供方: </span>
|
||||
<el-input
|
||||
v-model="waibuKd"
|
||||
placeholder="请输入供方昵称或代码"
|
||||
></el-input>
|
||||
<el-input v-model="waibuKd" placeholder="请输入供方昵称或代码"></el-input>
|
||||
</div>
|
||||
<div class="flex items-center" v-if="activeName === 'inside-detail'">
|
||||
>
|
||||
|
|
@ -673,12 +639,7 @@ getdeptTree()
|
|||
>导出 Excel</el-button
|
||||
>
|
||||
<template v-if="activeName !== 'inside' && false">
|
||||
<el-select
|
||||
v-model="selValue"
|
||||
class="ml-20px mt-[-4px]"
|
||||
placeholder="Select"
|
||||
size="small"
|
||||
>
|
||||
<el-select v-model="selValue" class="ml-20px mt-[-4px]" placeholder="Select" size="small">
|
||||
<el-option
|
||||
v-for="item in externalList"
|
||||
:key="item.moduleCode"
|
||||
|
|
@ -731,17 +692,9 @@ getdeptTree()
|
|||
}"
|
||||
>
|
||||
<el-table-column prop="moduleName" label="模块名称" />
|
||||
<el-table-column
|
||||
prop="deptName"
|
||||
label="职位名称"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<el-table-column prop="deptName" label="职位名称" show-overflow-tooltip>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="访问次数"
|
||||
prop="visitCount"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column label="访问次数" prop="visitCount" show-overflow-tooltip />
|
||||
</el-table>
|
||||
</div>
|
||||
<!-- <div class="absolute bottom-2px right-30px z-20 bg-#fff">
|
||||
|
|
@ -758,12 +711,7 @@ getdeptTree()
|
|||
</div>
|
||||
|
||||
<div class="w-full h-720px mt-30px">
|
||||
<VChart
|
||||
key="yyyxx"
|
||||
ref="pieChartRef"
|
||||
:option="barChartOption"
|
||||
autoresize
|
||||
/>
|
||||
<VChart key="yyyxx" ref="pieChartRef" :option="barChartOption" autoresize />
|
||||
</div>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
|
|
@ -797,13 +745,7 @@ getdeptTree()
|
|||
</div>
|
||||
</div> -->
|
||||
<div class="w-full h-400px mt-10px">
|
||||
<VChart
|
||||
key="yyy"
|
||||
ref="chartRef1"
|
||||
:option="chartOption1"
|
||||
v-if="showEchart"
|
||||
autoresize
|
||||
/>
|
||||
<VChart key="yyy" ref="chartRef1" :option="chartOption1" v-if="showEchart" autoresize />
|
||||
</div>
|
||||
<div class="mt-30px">
|
||||
<div class="flex items-center">
|
||||
|
|
@ -920,27 +862,11 @@ getdeptTree()
|
|||
}"
|
||||
>
|
||||
<el-table-column prop="moduleName" label="模块名称" />
|
||||
<el-table-column
|
||||
prop="postName"
|
||||
label="职位名称"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<el-table-column prop="postName" label="职位名称" show-overflow-tooltip>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="nickName"
|
||||
label="用户昵称"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="访问次数"
|
||||
prop="visitCount"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="访问日期"
|
||||
prop="visitTime"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column prop="nickName" label="用户昵称" show-overflow-tooltip />
|
||||
<el-table-column label="访问次数" prop="visitCount" show-overflow-tooltip />
|
||||
<el-table-column label="访问日期" prop="visitTime" show-overflow-tooltip />
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="absolute bottom-2px right-30px z-20 bg-#fff">
|
||||
|
|
@ -979,32 +905,16 @@ getdeptTree()
|
|||
height: '60px'
|
||||
}"
|
||||
>
|
||||
<el-table-column
|
||||
prop="title"
|
||||
label="访问模块"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<el-table-column prop="title" label="访问模块" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<span>{{ externalObj[row.moduleCode] || '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="userId" label="供方ID" />
|
||||
<el-table-column
|
||||
prop="nickName"
|
||||
label="供方昵称"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<el-table-column prop="nickName" label="供方昵称" show-overflow-tooltip>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="访问计数"
|
||||
prop="visitCount"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="访问日期"
|
||||
prop="visitDay"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column label="访问计数" prop="visitCount" show-overflow-tooltip />
|
||||
<el-table-column label="访问日期" prop="visitDay" show-overflow-tooltip />
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="absolute bottom-2px right-30px z-20 bg-#fff">
|
||||
|
|
@ -1037,22 +947,13 @@ getdeptTree()
|
|||
|
||||
<div class="mt10px w-full">
|
||||
<div class="w-full h-400px">
|
||||
<VChart
|
||||
key="xxxx"
|
||||
ref="chartRef2"
|
||||
:option="chartOption2"
|
||||
autoresize
|
||||
/>
|
||||
<VChart key="xxxx" ref="chartRef2" :option="chartOption2" autoresize />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<n-modal v-model:show="showModal">
|
||||
<UserList
|
||||
:userDataList="setUserList"
|
||||
@clickChild="handleChild"
|
||||
@CloseThis="CloseThiss"
|
||||
/>
|
||||
<UserList :userDataList="setUserList" @clickChild="handleChild" @CloseThis="CloseThiss" />
|
||||
</n-modal>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,8 @@ const array = ref<any[]>([
|
|||
</div>
|
||||
</div> -->
|
||||
<div class="mt30px mr20px flex w100%">
|
||||
<img src="../../../assets/images/fzqiet3.png" class="w100%" />
|
||||
<!-- <img src="../../../assets/images/fzqiet3.png" class="w100%" /> -->
|
||||
<img src="../../../assets/images/jjllt.jpg" class="w100%" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue