|
@@ -34,12 +34,45 @@
|
|
</el-row>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
<div class="hc-chart-flex">
|
|
<div class="hc-chart-flex">
|
|
- <el-row :gutter="30">
|
|
|
|
- <el-col :span="18">
|
|
|
|
- 1
|
|
|
|
|
|
+ <el-row :gutter="30" class="h-full">
|
|
|
|
+ <el-col :span="18" class="h-full">
|
|
|
|
+ <div class="hc-report-chart-card-box">
|
|
|
|
+ <div class="hc-chart-title">
|
|
|
|
+ <span class="title">报表资料审批统计</span>
|
|
|
|
+ <span class="hc-chart-text">(已审批{{materialList}}份)</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="hc-report-chart-box">
|
|
|
|
+ <ReportChart :datas="processMaterialStatusList"/>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :span="6">
|
|
|
|
- 2
|
|
|
|
|
|
+ <el-col :span="6" class="h-full">
|
|
|
|
+ <div class="hc-media-chart-card-box">
|
|
|
|
+ <div class="hc-chart-title">
|
|
|
|
+ <span class="title">声像媒体资料统计</span>
|
|
|
|
+ <el-button size="large" round @click="toTableClick">
|
|
|
|
+ <span>WBS节点进度</span>
|
|
|
|
+ <HcIcon name="arrow-right-s" ui="ml-2" style="margin-right: 0;"/>
|
|
|
|
+ </el-button>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="hc-media-chart-box">
|
|
|
|
+ <div class="hc-media-pian-box">
|
|
|
|
+ <div class="item">
|
|
|
|
+ <span class="name">总计</span>
|
|
|
|
+ <span class="num">{{imageClassInfo.amount}}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="item">
|
|
|
|
+ <span class="name">图片</span>
|
|
|
|
+ <span class="num c1">{{imageClassInfo.image}}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="item">
|
|
|
|
+ <span class="name">视频</span>
|
|
|
|
+ <span class="num c2">{{imageClassInfo.video}}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <MediaChart :datas="contractImageClassificationList"/>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
@@ -47,7 +80,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
-import {ref, watch, onMounted} from 'vue'
|
|
|
|
|
|
+import {ref, onMounted} from 'vue'
|
|
import {useRouter} from 'vue-router'
|
|
import {useRouter} from 'vue-router'
|
|
import {useAppStore} from "~src/store";
|
|
import {useAppStore} from "~src/store";
|
|
import RoundChart from "./components/echarts/RoundChart.vue"
|
|
import RoundChart from "./components/echarts/RoundChart.vue"
|
|
@@ -120,6 +153,7 @@ const queryMaterialProgressStatus = async () => {
|
|
//声像媒体资料统计
|
|
//声像媒体资料统计
|
|
const isImageClassLoading = ref(false)
|
|
const isImageClassLoading = ref(false)
|
|
const contractImageClassificationList = ref([])
|
|
const contractImageClassificationList = ref([])
|
|
|
|
+const imageClassInfo = ref({amount: 0, image: 0, video: 0})
|
|
const queryImageClassification = async () => {
|
|
const queryImageClassification = async () => {
|
|
isImageClassLoading.value = true
|
|
isImageClassLoading.value = true
|
|
const { error, code, data } = await DataApi.queryImageClassification({
|
|
const { error, code, data } = await DataApi.queryImageClassification({
|
|
@@ -129,12 +163,25 @@ const queryImageClassification = async () => {
|
|
//处理数据
|
|
//处理数据
|
|
isImageClassLoading.value = false
|
|
isImageClassLoading.value = false
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
- contractImageClassificationList.value = getArrValue(data?.contractImageClassificationList);
|
|
|
|
|
|
+ const imageClassList = getArrValue(data?.contractImageClassificationList);
|
|
|
|
+ contractImageClassificationList.value = imageClassList;
|
|
|
|
+ //数据显示
|
|
|
|
+ let AxisData = {amount: 0, image: 0, video: 0};
|
|
|
|
+ for (let i = 0; i < imageClassList.length; i++) {
|
|
|
|
+ AxisData.amount = imageClassList[i].amount
|
|
|
|
+ AxisData.image = imageClassList[i].imageAmount
|
|
|
|
+ AxisData.video = imageClassList[i].videoAmount
|
|
|
|
+ }
|
|
|
|
+ imageClassInfo.value = AxisData
|
|
} else {
|
|
} else {
|
|
contractImageClassificationList.value = [];
|
|
contractImageClassificationList.value = [];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+//查看WBS节点进度
|
|
|
|
+const toTableClick = () => {
|
|
|
|
+ router.push({path: '/schedule/table'})
|
|
|
|
+}
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|