From da81d1bd13bb180c9d1ee6d02df6d2036da30d86 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 11 四月 2024 15:46:05 +0800
Subject: [PATCH] 考核结果
---
src/views/system/calculate/order/index.vue | 5
src/views/system/result/detail/detail.vue | 176 +----------------
src/views/system/platform/index.vue | 24 --
src/views/system/result/detail/index1.vue | 348 ++++++++++++++++++++++++----------
4 files changed, 268 insertions(+), 285 deletions(-)
diff --git a/src/views/system/calculate/order/index.vue b/src/views/system/calculate/order/index.vue
index c944342..ceabfcd 100644
--- a/src/views/system/calculate/order/index.vue
+++ b/src/views/system/calculate/order/index.vue
@@ -82,6 +82,8 @@
<div class="text item">鑰冩牳鍒嗘暟<span class="time">{{ item.checkScore }}</span></div>
<div class="text item">鑰冩牳鏃堕棿
<span class="time">{{ item.checkTime }}</span>
+ <el-button size="small" round style="float: right;" @click="handlePublish(item)" v-show="item.publish != 1" v-hasPermi="['result:contract:publish']">纭鍙戝竷</el-button>
+ <el-button size="small" round style="float: right;" @click="handlePublish(item)" v-show="item.publish == 1" v-hasPermi="['result:contract:publish']">宸插彂甯�</el-button>
</div>
</el-card>
@@ -430,7 +432,8 @@
this.download('system/checkResult/export', {
...this.queryParams
}, `checkResult_${new Date().getTime()}.xlsx`)
- }
+ },
+
}
};
</script>
diff --git a/src/views/system/platform/index.vue b/src/views/system/platform/index.vue
index 34d5f02..5b585e5 100644
--- a/src/views/system/platform/index.vue
+++ b/src/views/system/platform/index.vue
@@ -21,10 +21,6 @@
<h3 style="color: #fe640d">{{ count.postsPercentage }}</h3>
<p>寮傚父鏁�</p >
</div>
- <div class="dashboard-item">
- <h3>{{ count.totalViews }}</h3>
- <p>鐢熸垚寮傚父宸ュ崟鏁�</p >
- </div>
</div>
</el-col>
</el-row>
@@ -61,21 +57,7 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟" prop="defaultOrder" label-width="130px">
- <el-select
- v-model="queryParams.status"
- placeholder="鏄惁鐢熸垚寮傚父宸ュ崟"
- clearable
- style="width: 170px"
- >
- <el-option
- v-for="dict in dict.type.platform_yes_no"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
+
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
@@ -164,7 +146,7 @@
</template>
</el-table-column>
</el-table>
-
+
<pagination
v-show="total>0"
:total="total"
@@ -409,4 +391,4 @@
.dashboard-item {
text-align: center;
}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/system/result/detail/detail.vue b/src/views/system/result/detail/detail.vue
index 16209a7..731d044 100644
--- a/src/views/system/result/detail/detail.vue
+++ b/src/views/system/result/detail/detail.vue
@@ -2,136 +2,10 @@
<div class="app-container">
<el-page-header @back="goBack" content="璇︽儏椤甸潰">
</el-page-header>
- <el-container>
- <el-main style="padding-top: 0px">
- <h2>鑰冩牳鍒嗘暟鏄庣粏</h2>
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-<!-- <el-form-item label="鑰冩牳瀵硅薄" prop="ruleName">-->
-<!-- <el-select-->
-<!-- v-model="queryParams.address"-->
-<!-- placeholder="璇烽�夋嫨鍖哄煙"-->
-<!-- clearable-->
-<!-- >-->
-<!-- <el-option label="鑷础甯�" value="鑷础甯�"/>-->
-<!-- <el-option label="娌挎哗鍖�" value="娌挎哗鍖�"/>-->
-<!-- <el-option label="澶у畨鍖�" value="澶у畨鍖�"/>-->
-<!-- <el-option label="璐′簳鍖�" value="璐′簳鍖�"/>-->
-<!-- <el-option label="鑷祦浜曞尯" value="鑷祦浜曞尯"/>-->
-<!-- <el-option label="楂樻柊鍖�" value="楂樻柊鍖�"/>-->
-<!-- <el-option label="鑽e幙" value="鑽e幙"/>-->
-<!-- <el-option label="瀵岄『鍘�" value="瀵岄『鍘�"/>-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
- <el-form-item label="鑰冩牳鏃ユ湡" prop="createTime">
- <div class="block">
- <el-date-picker
- v-model="value2"
- align="right"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- :picker-options="pickerOptions">
- </el-date-picker>
- </div>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
- </el-form-item>
- </el-form>
- <el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
- <el-button
- type="success"
- plain
- icon="el-icon-edit"
- size="mini"
- :disabled="single"
- @click="handleScoreUpdate"
- >淇敼</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="el-icon-delete"
- size="mini"
- :disabled="multiple"
- @click="handleDelete"
- >鍒犻櫎</el-button>
- </el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getScoreList"></right-toolbar>
- </el-row>
- <el-table v-loading="loading" :data="scoreList" @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55" align="center" />
- <el-table-column label="鑰冩牳瑙勫垯" align="center" prop="ruleId">
- <template slot-scope="scope">
- <div v-if="scope.row.ruleId == 5">涓�鏈轰竴妗f敞鍐岀巼</div>
- <div v-else-if="scope.row.ruleId == 4">涓�鏈轰竴妗e悎鏍肩巼</div>
- <div v-else-if="scope.row.ruleId == 3">骞冲彴鍦ㄧ嚎鐜�</div>
- </template>
- </el-table-column>
- <el-table-column label="鑰冩牳瀵硅薄" align="center" prop="unitName">
- <template slot-scope="scope">
- <div v-if="scope.row.unitName ==='鎴愰兘x杩愮淮' ">鎴愰兘x杩愮淮</div>
- <div v-else>鑷祦浜曞尯</div>
- </template>
- </el-table-column>
- <el-table-column label="鍒嗗��" align="center" prop="score" />
- <el-table-column label="鑰冩牳鏃堕棿" align="center" prop="createTime" />
- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
- <template slot-scope="scope">
- <el-button
- size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleScoreUpdate(scope.row)"
- >淇敼</el-button>
- <el-button
- size="mini"
- type="text"
- icon="el-icon-delete"
- @click="handleScoreDelete(scope.row)"
- >鍒犻櫎</el-button>
- </template>
- </el-table-column>
- </el-table>
- <pagination
- v-show="total>0"
- :total="scoreTotal"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getRuleList"
- />
- </el-main>
- </el-container>
<el-container>
<el-main>
<h2>鑰冩牳瑙勫垯</h2>
- <el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
- <el-button
- type="success"
- plain
- icon="el-icon-edit"
- size="mini"
- :disabled="single"
- @click="handleRuleUpdate"
- >淇敼</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="el-icon-delete"
- size="mini"
- :disabled="multiple"
- @click="handleDelete"
- >鍒犻櫎</el-button>
- </el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getRuleList"></right-toolbar>
- </el-row>
-
<el-table v-loading="loading" :data="ruleList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="瑙勫垯鍚嶇О" align="center" prop="ruleName" />
@@ -167,40 +41,6 @@
<el-container>
<el-main>
<h2>鑰冩牳鎴愮哗</h2>
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-<!-- <el-form-item label="鑰冩牳瀵硅薄" prop="ruleName">-->
-<!-- <el-select-->
-<!-- v-model="queryParams.address"-->
-<!-- placeholder="璇烽�夋嫨鍖哄煙"-->
-<!-- clearable-->
-<!-- >-->
-<!-- <el-option label="鑷础甯�" value="鑷础甯�"/>-->
-<!-- <el-option label="娌挎哗鍖�" value="娌挎哗鍖�"/>-->
-<!-- <el-option label="澶у畨鍖�" value="澶у畨鍖�"/>-->
-<!-- <el-option label="璐′簳鍖�" value="璐′簳鍖�"/>-->
-<!-- <el-option label="鑷祦浜曞尯" value="鑷祦浜曞尯"/>-->
-<!-- <el-option label="楂樻柊鍖�" value="楂樻柊鍖�"/>-->
-<!-- <el-option label="鑽e幙" value="鑽e幙"/>-->
-<!-- <el-option label="瀵岄『鍘�" value="瀵岄『鍘�"/>-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
- <el-form-item label="鑰冩牳鏃ユ湡" prop="createTime">
- <div class="block">
- <el-date-picker
- v-model="value2"
- align="right"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- :picker-options="pickerOptions">
- </el-date-picker>
- </div>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
- </el-form-item>
- </el-form>
-
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@@ -391,6 +231,8 @@
dicts: ['platform_audit_state'],
data() {
return {
+ activeIndex: '1',
+ activeIndex2: '1',
activeNames: ['1'],
companyName: "鎴愰兘x杩愮淮鍏徃",
detailTitle: '',
@@ -785,7 +627,10 @@
this.download('system/checkResult/export', {
...this.queryParams
}, `checkResult_${new Date().getTime()}.xlsx`)
- }
+ },
+ handleSelect(key, keyPath) {
+ console.log(key, keyPath);
+ },
}
};
</script>
@@ -838,4 +683,13 @@
flex-direction: row;
justify-content: center;
}
+.header-container {
+ display: flex;
+ align-items: center; /* 鍨傜洿灞呬腑 */
+}
+
+.header-container h2 {
+ margin-right: 10px; /* 鏍规嵁闇�瑕佽皟鏁存爣棰樺拰鑿滃崟涔嬮棿鐨勯棿璺� */
+}
+
</style>
diff --git a/src/views/system/result/detail/index1.vue b/src/views/system/result/detail/index1.vue
index d8b604f..6417889 100644
--- a/src/views/system/result/detail/index1.vue
+++ b/src/views/system/result/detail/index1.vue
@@ -1,39 +1,23 @@
<template>
- <div style="padding: 15px">
- <div style="display: flex;flex-direction: row;">
- <div class="now-item">
- <div class="box now">
- <div class="title">
- 瑙嗛
+ <div style="padding: 5px">
+ <div>
+ <el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect" style="margin-bottom: 10px">
+ <el-menu-item index="1">鐪佸巺鑰冩牳</el-menu-item>
+ <el-menu-item index="2">鍖哄煙鑰冩牳</el-menu-item>
+ </el-menu>
+ </div>
+
+ <div class="data-chart-container">
+ <el-card class="data-card" :body-style="{ height: '100%' }">
+ <div class="card-content">
+ <div class="title-container">
+ <h1>鑰冩牳鎴愮哗</h1>
</div>
- <div>
- 98
+ <div class="chart-container">
+ <div id="chartContent" ref="chartContent"></div>
</div>
</div>
- </div>
- <div class="now-item">
- <div class="box now">
- <div class="title">
- 浜鸿劯
- </div>
- <div>
- 98
- </div>
- </div>
- </div>
- <div class="now-item">
- <div class="box now">
- <div class="title">
- 鐩戞帶
- </div>
- <div>
- 98
- </div>
- </div>
- </div>
- <div style="justify-content: center;align-items: center;display: flex;width: 80px">
- <i class="el-icon-caret-left">鏈湀</i>
- </div>
+ </el-card>
</div>
<div style="margin-top: 35px">
@@ -41,38 +25,48 @@
:data="tableData"
style="width: 100%">
<el-table-column
- label="鏈堜唤"
- prop="month">
+ label="鑰冩牳鏃堕棿"
+ prop="time"
+ align="center">
</el-table-column>
<el-table-column
- label="浜鸿劯"
- prop="renlian">
+ label="鏍囩"
+ prop="tag"
+ align="center">
</el-table-column>
<el-table-column
- label="瑙嗛"
- prop="shipin">
+ label="鑰冩牳绫诲瀷"
+ prop="category"
+ align="center">
</el-table-column>
<el-table-column
- label="杞﹁締"
- prop="cheliang">
+ label="鑰冩牳棰戠巼"
+ prop="frequency"
+ align="center">
</el-table-column>
<el-table-column
- align="right">
- <template slot="header" slot-scope="scope">
- <el-date-picker
- size="mini"
- style="width: 100%"
- v-model="searchForm.time"
- type="monthrange"
- range-separator="~"
- start-placeholder="寮�濮嬫湀"
- end-placeholder="缁撴潫鏈�">
- </el-date-picker>
- </template>
+ label="鍒嗘暟"
+ prop="score"
+ align="center">
+ </el-table-column>
+ <el-table-column
+ label="鐘舵��"
+ prop="state"
+ align="center">
<template slot-scope="scope">
+ <dict-tag :options="dict.type.platform_examine_use" :value="scope.row.state"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+ <template slot-scope="scope">
+ <el-button size="small" type="text" v-show="scope.row.publish != 1">纭鍙戝竷</el-button>
+ <el-button size="small" type="text" v-show="scope.row.publish == 1">鍙栨秷鍙戝竷</el-button>
<el-button
size="mini"
- @click="handleDetail(scope.$index, scope.row)">璇︽儏</el-button>
+ type="text"
+ icon="el-icon-view"
+ @click="handleDetail(scope.row,scope.index)"
+ >璇︾粏</el-button>
</template>
</el-table-column>
</el-table>
@@ -86,7 +80,7 @@
:page-sizes="[5, 10, 20]"
:page-size="5"
layout="total, sizes, prev, pager, next, jumper"
- :total="5">
+ :total="4">
</el-pagination>
</div>
@@ -94,41 +88,65 @@
</template>
<script>
+import * as echarts from 'echarts';
+let lineChart = null;
+let observer = null;
export default {
name: 'index',
+ dicts: ['platform_examine_use'],
data() {
return {
+ activeIndex: '1',
+ activeIndex2: '1',
+ dateRange: '',
+ company: '',
+ dataList: [
+ {
+ name: '鍏ㄩ儴',
+ complete: { '4.5': 95.5, '4.6': 95.3, '4.7': 96.0, '4.8': 97.2, '4.9': 96.5 ,
+ '4.10': 95.5, '4.11': 95.3, '4.12': 96.0, '4.13': 97.2, '4.14': 96.5 },
+ waiting: { '4.5': 94.8, '4.6': 91.3, '4.7': 95.3, '4.8': 92.3, '4.9': 93.3,
+ '4.10': 94.8, '4.11': 91.3, '4.12': 95.3, '4.13': 92.3, '4.14': 93.3 },
+ pending: { '4.5': 91.6, '4.6': 92.6, '4.7': 93.7, '4.8': 94.0, '4.9': 95.9
+ ,'4.10': 91.6, '4.11': 92.6, '4.12': 93.7, '4.13': 94.0, '4.14': 95.9 }
+ }
+ ],
tableData: [
{
- renlian: 94,
- shipin: 89.5,
- cheliang: 92,
- month: "2024骞�3鏈�"
+ time: '2024-04-15',
+ tag: '鐪佸巺鑰冩牳',
+ category: '杞﹁締鑰冩牳',
+ frequency: '鏈堝害鑰冩牳',
+ score: '96.5',
+ state: '0',
+ publish: '0'
},
{
- renlian: 94,
- shipin: 89.5,
- cheliang: 92,
- month: "2024骞�2鏈�"
+ time: '2024-04-15',
+ tag: '鐪佸巺鑰冩牳',
+ category: '浜鸿劯鑰冩牳',
+ frequency: '鏈堝害鑰冩牳',
+ score: '93.3',
+ state: '0',
+ publish: '0'
},
{
- renlian: 94,
- shipin: 89.5,
- cheliang: 92,
- month: "2024骞�1鏈�"
+ time: '2024-04-15',
+ tag: '鐪佸巺鑰冩牳',
+ category: '瑙嗛鑰冩牳',
+ frequency: '鏈堝害鑰冩牳',
+ score: '95.9',
+ state: '0',
+ publish: '0'
},
{
- renlian: 94,
- shipin: 89.5,
- cheliang: 92,
- month: "2023骞�12鏈�"
- },
- ,
- {
- renlian: 94,
- shipin: 89.5,
- cheliang: 92,
- month: "2023骞�11鏈�"
+ time: '2024-04-14',
+ tag: '鐪佸巺鑰冩牳',
+ category: '杞﹁締鑰冩牳',
+ frequency: '鏈堝害鑰冩牳',
+ score: '96.5',
+ state: '1',
+ publish: '1'
},
],
searchForm: {
@@ -137,6 +155,7 @@
}
},
methods: {
+
handleSizeChange(val) {
console.log(`姣忛〉 ${val} 鏉);
},
@@ -149,37 +168,162 @@
},
handleDelete(index, row) {
console.log(index, row);
+ },
+ initChart() {
+ const option = {
+ legend: {
+ right: 'right',
+ top: 'top',
+ icon: 'rect',
+ orient: "vertical",
+ data: [
+ {
+ name: '杞﹁締鑰冩牳',
+ itemStyle: {
+ color: 'rgba(62, 144, 247, 1)'
+ }
+ },
+ {
+ name: '浜鸿劯鑰冩牳',
+ itemStyle: {
+ color: 'rgba(85, 192, 191, 1)'
+ }
+ },
+ {
+ name: '瑙嗛鑰冩牳',
+ itemStyle: {
+ color: 'rgba(255, 165, 0, 1)'
+ }
+ },
+ ],
+ },
+ grid: {
+ left: 0,
+ right: 0,
+ bottom: 0,
+ top: '20%',
+ containLabel: true
+ },
+ tooltip: {},
+ xAxis: {
+ type: 'category',
+ data: Object.keys(this.acitveData.complete),
+ },
+ yAxis: {
+ min: 90,
+ },
+ series: [
+ {
+ name: '杞﹁締鑰冩牳',
+ data: Object.entries(this.acitveData.complete).map(([key, value]) => value),
+ type: 'line',
+ itemStyle: {
+ color: 'rgba(62, 144, 247, 1)'
+ }
+ },
+ {
+ name: '浜鸿劯鑰冩牳',
+ data: Object.entries(this.acitveData.waiting).map(([key, value]) => value),
+ type: 'line',
+ itemStyle: {
+ color: 'rgba(85, 192, 191, 1)'
+ }
+ },
+ {
+ name: '瑙嗛鑰冩牳',
+ data: Object.entries(this.acitveData.pending).map(([key, value]) => value),
+ type: 'line',
+ itemStyle: {
+ color: 'rgba(255, 165, 0, 1)'
+ }
+ }
+ ]
+ };
+ lineChart.setOption(option, true);
+ },
+
+
+ // 鐩戝惉鍙樺寲
+ observe() {
+ if (!observer) {
+ observer = new ResizeObserver(entries => {
+ this.handleResize();
+ })
+ }
+ observer.observe(this.$refs.chartContent);
+ },
+ // 绐楀彛鍙樻崲
+ handleResize() {
+ if (lineChart) {
+ lineChart.resize();
+ }
}
+
+ },
+ mounted() {
+ this.acitveData = this.dataList[0];
+ this.company = this.acitveData.name;
+ lineChart = echarts.init(this.$refs.chartContent);
+ this.initChart();
+ this.observe();
+ },
+ beforeDestroy() {
+ if (lineChart) {
+ lineChart.dispose();
+ observer.unobserve(this.$refs.chartContent);
+ }
+ },
+ handleSelect(key, keyPath) {
+ console.log(key, keyPath);
},
}
</script>
-<style scoped>
-.now-item {
- flex: 1;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-.now {
- /*background-color: #42b983;*/
- height: 80px !important;
-}
-.box {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- box-shadow: 0 2px 6px hsla(0, 0%, 7%, .1);
- border-radius: 10px;
- width: 240px;
- height: 50px;
-}
-.box:hover{
- cursor: pointer;
+<style lang="scss" scoped>
+.data-chart-container {
+ height: 400px;
+ margin-bottom: 20px;
+
+ .data-card {
+ height: 100%;
+
+ .card-content {
+ width: 100%;
+ height: 100%;
+ position: relative;
+ }
+ }
}
-.title {
- font-size: larger;
+.title-container {
+ position: absolute;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ z-index: 2;
+
+
+ .more-button {
+ cursor: pointer;
+ font-size: 16px;
+ padding: 0 10px;
+ }
}
+
+.chart-container {
+
+ width: 100%;
+ height: 100%;
+
+ #chartContent {
+ width: 100%;
+ height: 100%;
+ }
+}
+
+.select-container {
+ margin: 0 20px;
+ width: 180px;
+}
+
</style>
--
Gitblit v1.8.0