|
@@ -1,637 +1,637 @@
|
|
|
-<template>
|
|
|
- <div class="dashboard-editor-container">
|
|
|
- <!-- <img src="../../static/20230321180755.png" alt="" style="width:100%;heighr:100%"> -->
|
|
|
- <div>
|
|
|
- <panel-group @handleSetLineChartData="handleSetLineChartData" />
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col
|
|
|
- :xs="44"
|
|
|
- :sm="44"
|
|
|
- :lg="16"
|
|
|
- :style="{ height: wheight + 10 + 'px', background: '#fff' }"
|
|
|
- >
|
|
|
- <!-- <div class="chart-wrapper" style="position: relative;">
|
|
|
- <div class="date-picker" style="position: absolute;top: 0;right:30px;z-index:999;margin-top: 10px">
|
|
|
- <el-date-picker v-model="selectedMonth" type="month" placeholder="选择月份" format="yyyy-MM"
|
|
|
- value-format="yyyy-MM" @change="handleChange">
|
|
|
- </el-date-picker>
|
|
|
- </div>
|
|
|
- <bar-chart :chart-data="chartData" :selected-month="selectedMonth" />
|
|
|
- </div> -->
|
|
|
- <!-- :height="wheight?wheight" -->
|
|
|
- <div style="margin-top: 10px; font-weight: 500; font-size: 15px">
|
|
|
- <span>任务列表</span
|
|
|
- ><span
|
|
|
- style="float: right; cursor: pointer; float: right"
|
|
|
- @click="gomorelist"
|
|
|
- >更多</span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <el-table
|
|
|
- ref="filterTable"
|
|
|
- :data="tableDataMiddle"
|
|
|
- :height="wheight - 50"
|
|
|
- style="width: 100%; padding-top: 10px"
|
|
|
- @filter-change="filterTags"
|
|
|
- >
|
|
|
- <el-table-column label="任务名称" align="center" prop="taskName" />
|
|
|
- <el-table-column label="任务类型" align="center" prop="taskType">
|
|
|
- <template v-slot="scope">
|
|
|
- <dict-tag
|
|
|
- :type="DICT_TYPE.TASK_TYPE"
|
|
|
- :value="scope.row.taskType"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="任务内容" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div v-html="scope.row.taskContent"></div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="任务状态"
|
|
|
- align="center"
|
|
|
- prop="taskStatus"
|
|
|
- :filters="[
|
|
|
- { text: '待完成', value: 1 },
|
|
|
- { text: '待审核', value: 2 },
|
|
|
- { text: '已归档', value: 3 },
|
|
|
- ]"
|
|
|
- filter-placement="bottom-end"
|
|
|
- :filter-multiple="false"
|
|
|
- column-key="taskStatus"
|
|
|
- v-slot="scope"
|
|
|
- >
|
|
|
- <template>
|
|
|
- <dict-tag
|
|
|
- :type="DICT_TYPE.TASK_STATUS"
|
|
|
- :value="scope.row.taskStatus"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <!-- <el-table-column prop="tag" label="任务状态" width="100"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-tag :type="scope.row.tag === '家' ? 'primary' : 'success'"
|
|
|
- disable-transitions>{{ scope.row.tag }}</el-tag>
|
|
|
- </template>
|
|
|
- </el-table-column> -->
|
|
|
- </el-table>
|
|
|
- </el-col>
|
|
|
- <el-col :xs="24" :sm="24" :lg="8">
|
|
|
- <div class="chart-wrapper" style="position: relative">
|
|
|
- <div
|
|
|
- class="date-picker"
|
|
|
- style="
|
|
|
- position: absolute;
|
|
|
- top: 0;
|
|
|
- left: 170px;
|
|
|
- z-index: 999;
|
|
|
- margin-top: 10px;
|
|
|
- "
|
|
|
- >
|
|
|
- <el-date-picker
|
|
|
- v-model="selectedMonths"
|
|
|
- type="month"
|
|
|
- placeholder="选择月份"
|
|
|
- format="M"
|
|
|
- value-format="M"
|
|
|
- @change="handleChange"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </div>
|
|
|
- <raddar-chart :reportData="reportData" />
|
|
|
- <!-- <div>详细情况</div> -->
|
|
|
- <el-button
|
|
|
- size="middle"
|
|
|
- type="text"
|
|
|
- style="
|
|
|
- position: absolute;
|
|
|
- bottom: 5px;
|
|
|
- right: 50px;
|
|
|
- z-index: 999;
|
|
|
- margin-top: 10px;
|
|
|
- "
|
|
|
- @click="handleDeatail"
|
|
|
- >详细情况</el-button
|
|
|
- >
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <!-- <el-col :xs="24" :sm="24" :lg="8">
|
|
|
- <div class="chart-wrapper">
|
|
|
- <pie-chart />
|
|
|
- </div>
|
|
|
- </el-col> -->
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :xs="44" :sm="44" :lg="16">
|
|
|
- <div style="display: flex">
|
|
|
- <!-- <div class="line-left"> -->
|
|
|
- <!-- <div class="line-left-top">任务完成数</div>
|
|
|
- <div class="bg">
|
|
|
- <p class="line-left-item line-left-item-title">本月完成量</p>
|
|
|
- <div class="line-left-item"><span class="line-left-item-number">232</span><span
|
|
|
- class="line-left-item-unit">条</span></div>
|
|
|
- <div class="line-left-item line-left-item-last">同比上月 <span class="xiajiang">12%</span><img
|
|
|
- src="../assets/images/xiajiang.png" style="width:6px;height:8px;margin: 6px 0 0 3px;"></div>
|
|
|
- </div>
|
|
|
- <div class="bg">
|
|
|
- <p class="line-left-item line-left-item-title">本周完成量</p>
|
|
|
- <div class="line-left-item"><span class="line-left-item-number">232</span><span
|
|
|
- class="line-left-item-unit">条</span></div>
|
|
|
- <div class="line-left-item line-left-item-last">同比上月 <span class="shangshen">12%</span><img
|
|
|
- src="../assets/images/shangshen.png" style="width:6px;height:8px;margin: 6px 0 0 3px;"></div>
|
|
|
- </div> -->
|
|
|
- <!-- </div> -->
|
|
|
- <div
|
|
|
- class="chart-wrapper"
|
|
|
- style="position: relative; width: 100%; margin-bottom: 0"
|
|
|
- id="wheight"
|
|
|
- >
|
|
|
- <line-chart
|
|
|
- :chart-data="lineChartData"
|
|
|
- :chart-datano="lineChartDatano"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <el-col :xs="24" :sm="24" :lg="8">
|
|
|
- <div
|
|
|
- class="chart-wrapper chart-wrappers"
|
|
|
- style="height: 356px; overflow: auto"
|
|
|
- >
|
|
|
- <div style="margin-bottom: 10px">
|
|
|
- <span class="line-left-top">整改隐患记录</span
|
|
|
- ><span style="float: right; cursor: pointer" @click="more"
|
|
|
- >更多</span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <el-table
|
|
|
- :data="tableData"
|
|
|
- style="width: 100%"
|
|
|
- :cell-class-name="tableCellClassName"
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- label="任务名称"
|
|
|
- prop="task_name"
|
|
|
- header-align="center"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="检查时间"
|
|
|
- prop="inspect_time"
|
|
|
- header-align="center"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- <template v-slot="scope">
|
|
|
- <span>{{ parseTime(scope.row.inspect_time) }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="单位名称"
|
|
|
- prop="org_name"
|
|
|
- header-align="center"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <el-dialog
|
|
|
- title="维保报告单位数量详情"
|
|
|
- :visible.sync="showRaddarDetail"
|
|
|
- width="60%"
|
|
|
- v-dialogDrag
|
|
|
- append-to-body
|
|
|
- class="details"
|
|
|
- >
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="primary"
|
|
|
- plain
|
|
|
- @click="handleDeatailWei"
|
|
|
- style="margin-bottom: 10px"
|
|
|
- >未上传</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="success"
|
|
|
- plain
|
|
|
- @click="handleDeatailYi"
|
|
|
- style="margin-bottom: 10px"
|
|
|
- >已上传</el-button
|
|
|
- >
|
|
|
- <el-table
|
|
|
- highlight-current-row
|
|
|
- v-loading="loading"
|
|
|
- :data="list"
|
|
|
- style="width: 100%; overflow: auto"
|
|
|
- >
|
|
|
- <el-table-column label="ID" align="center" prop="id" />
|
|
|
- <el-table-column label="单位名称" align="center" prop="orgName">
|
|
|
- <template v-slot="scope">
|
|
|
- <span style="color: forestgreen" @click="opentabs = true">{{
|
|
|
- scope.row.orgName
|
|
|
- }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <!-- 分页组件 -->
|
|
|
- <pagination
|
|
|
- v-show="total > 0"
|
|
|
- :total="total"
|
|
|
- :page.sync="queryRader.pageNo"
|
|
|
- :limit.sync="queryRader.pageSize"
|
|
|
- @pagination="getData"
|
|
|
- />
|
|
|
- </el-dialog>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
-import PanelGroup from "./dashboard/PanelGroup";
|
|
|
-import LineChart from "./dashboard/LineChart";
|
|
|
-import RaddarChart from "./dashboard/RaddarChart";
|
|
|
-import PieChart from "./dashboard/PieChart";
|
|
|
-import BarChart from "./dashboard/BarChart";
|
|
|
-import {
|
|
|
- getTaskInfoPage,
|
|
|
- countdengerbyday,
|
|
|
- currentReport,
|
|
|
-} from "@/api/backend/taskInfo";
|
|
|
-import { getHiddenDangerPage } from "@/api/backend/hiddenDanger";
|
|
|
-import { computed } from "vue";
|
|
|
-import { getOrgPage } from "@/api/backend/org";
|
|
|
-const lineChartData = {
|
|
|
- newVisitis: {
|
|
|
- // expectedData: [100, 120, 161, 134, 105, 160, 165],
|
|
|
- actualData: [120, 82, 91, 154, 162, 140, 145],
|
|
|
- },
|
|
|
- // messages: {
|
|
|
- // // expectedData: [200, 192, 120, 144, 160, 130, 140],
|
|
|
- // actualData: [180, 160, 151, 106, 145, 150, 130]
|
|
|
- // },
|
|
|
- // purchases: {
|
|
|
- // // expectedData: [80, 100, 121, 104, 105, 90, 100], //预期数据
|
|
|
- // actualData: [120, 90, 100, 138, 142, 130, 130] //实际数据
|
|
|
- // },
|
|
|
- // shoppings: {
|
|
|
- // // expectedData: [130, 140, 141, 142, 145, 150, 160],
|
|
|
- // actualData: [120, 82, 91, 154, 162, 140, 130]
|
|
|
- // },
|
|
|
- // installation: {
|
|
|
- // actualData: [120, 82, 91, 154, 162, 140, 130]
|
|
|
- // }
|
|
|
-};
|
|
|
-
|
|
|
-export default {
|
|
|
- name: "Index",
|
|
|
- components: {
|
|
|
- PanelGroup,
|
|
|
- LineChart,
|
|
|
- RaddarChart,
|
|
|
- PieChart,
|
|
|
- BarChart,
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- wheight: 300,
|
|
|
- list: [], //维保报告
|
|
|
- // 遮罩层
|
|
|
- loading: true,
|
|
|
- tableDataMiddle: [],
|
|
|
- tableData: [
|
|
|
- // { systemName: '系统A', taskCount: 10, completionRate: '60%' },
|
|
|
- // { systemName: '系统B', taskCount: 20, completionRate: '80%' },
|
|
|
- // { systemName: '系统C', taskCount: 30, completionRate: '90%' },
|
|
|
- // { systemName: '系统D', taskCount: 40, completionRate: '70%' }
|
|
|
- ],
|
|
|
- lineChartData: {},
|
|
|
- lineChartDatano: {},
|
|
|
- //选择月份
|
|
|
- chartData: [
|
|
|
- // 消防巡检数数据
|
|
|
- { date: "2023-2-10", value: 70 },
|
|
|
- { date: "2023-2-13", value: 40 },
|
|
|
- { date: "2023-2-15", value: 20 },
|
|
|
- { date: "2023-2-16", value: 60 },
|
|
|
- { date: "2023-2-20", value: 123 },
|
|
|
- { date: "2023-2-22", value: 80 },
|
|
|
- { date: "2023-2-23", value: 140 },
|
|
|
- { date: "2023-2-24", value: 190 },
|
|
|
- ],
|
|
|
- // 查询参数
|
|
|
- queryParams: {
|
|
|
- pageNo: 1,
|
|
|
- pageSize: 10,
|
|
|
- taskStatus: 1,
|
|
|
- },
|
|
|
- Params: {
|
|
|
- pageNo: 1,
|
|
|
- pageSize: 10,
|
|
|
- userId: this.$store.state.user.id,
|
|
|
- },
|
|
|
- reportData: {},
|
|
|
- selectedMonths: "",
|
|
|
- showRaddarDetail: false, //维保单位详情
|
|
|
- total: 0,
|
|
|
- queryRader: {
|
|
|
- pageSize: 10,
|
|
|
- pageNo: 1,
|
|
|
- },
|
|
|
- selectedMonth: new Date().toLocaleDateString().substring(0, 7), // 默认选中当前月份
|
|
|
- };
|
|
|
- },
|
|
|
- // 监听 Element UI 中的筛选月份变化
|
|
|
- watch: {
|
|
|
- //选择月份
|
|
|
- selectedMonths: function (newVal) {
|
|
|
- this.fetchData();
|
|
|
- // 过滤并更新消防巡检数数据
|
|
|
- // this.chartData = this.filterAndSortData();
|
|
|
- },
|
|
|
- // 'queryParams.taskStatus':function (newVal) {
|
|
|
- // this.queryParams.taskStatus=newVal
|
|
|
- // this.getList()
|
|
|
- // console.log(this.queryParams.taskStatus,'newValnewVal');
|
|
|
-
|
|
|
- // }
|
|
|
- },
|
|
|
- created() {
|
|
|
- // var hi=document.getElementById('wheight').clientHeight
|
|
|
- this.$nextTick(() => {
|
|
|
- this.wheight = document.getElementById("wheight").clientHeight;
|
|
|
- this.getList();
|
|
|
- });
|
|
|
- this.countdengerbyday();
|
|
|
- this.countdengerbydayno();
|
|
|
- this.rightGetList();
|
|
|
- this.fetchData();
|
|
|
- },
|
|
|
- methods: {
|
|
|
- handleDeatailWei() {
|
|
|
- //未上传
|
|
|
- },
|
|
|
- handleDeatailYi() {
|
|
|
- //已上传
|
|
|
- },
|
|
|
- handleDeatail() {
|
|
|
- this.showRaddarDetail = true;
|
|
|
- this.getData();
|
|
|
- },
|
|
|
- async fetchData() {
|
|
|
- const time = this.selectedMonths;
|
|
|
- const month = this.selectedMonths
|
|
|
- ? this.selectedMonths
|
|
|
- : new Date().getMonth() + 1; // 如果已选择月份使用已选择的月份,否则默认为当前月份
|
|
|
- const res = await currentReport({ month: month });
|
|
|
- this.reportData = res.data;
|
|
|
- },
|
|
|
- more() {
|
|
|
- this.$router.push({ path: "/backend/hiddendanger" });
|
|
|
- },
|
|
|
- gomorelist() {
|
|
|
- this.$router.push({ path: "/backend/taskInfo" });
|
|
|
- },
|
|
|
- //统计参数月份没有上传维保报告的数量
|
|
|
- async currentReport() {},
|
|
|
- //近30天隐患统计
|
|
|
- async countdengerbyday() {
|
|
|
- const res = await countdengerbyday({
|
|
|
- dengerStatus: 1,
|
|
|
- userId: this.$store.state.user.id,
|
|
|
- });
|
|
|
- this.lineChartData = res;
|
|
|
- // console.log(res, "ressrw");
|
|
|
- },
|
|
|
- async countdengerbydayno() {
|
|
|
- //未解决
|
|
|
- const res = await countdengerbyday({
|
|
|
- dengerStatus: 0,
|
|
|
- userId: this.$store.state.user.id,
|
|
|
- });
|
|
|
- this.lineChartDatano = res;
|
|
|
- // console.log(res, "ressrw");
|
|
|
- },
|
|
|
- //任务列表表格
|
|
|
- filterTags(filters) {
|
|
|
- this.queryParams.taskStatus = filters.taskStatus[0];
|
|
|
- // console.log(filters,'filters');
|
|
|
- this.getList();
|
|
|
- },
|
|
|
- //用来修改单元格css
|
|
|
- tableCellClassName({ row, column, rowIndex, columnIndex }) {
|
|
|
- if (columnIndex == 0) {
|
|
|
- return "cell-start";
|
|
|
- } else if (columnIndex == 9) {
|
|
|
- return "cell-end";
|
|
|
- } else {
|
|
|
- return "cell-middle";
|
|
|
- }
|
|
|
- },
|
|
|
- handleSetLineChartData(type) {
|
|
|
- this.lineChartData = lineChartData[type];
|
|
|
- },
|
|
|
- handleChange(val) {
|
|
|
- //选择月份
|
|
|
- this.selectedMonths = val;
|
|
|
- this.selectedMonth = val;
|
|
|
- },
|
|
|
- /** 查询列表 */
|
|
|
- getList() {
|
|
|
- // 执行查询
|
|
|
- getTaskInfoPage(this.queryParams).then((response) => {
|
|
|
- // console.log(response, "responseresponse");
|
|
|
- this.tableDataMiddle = response.data.list;
|
|
|
- });
|
|
|
- },
|
|
|
- getData() {
|
|
|
- this.loading = true;
|
|
|
- getOrgPage(this.queryRader).then((response) => {
|
|
|
- this.list = response.data.list;
|
|
|
- this.total = response.data.total;
|
|
|
- this.loading = false;
|
|
|
- });
|
|
|
- },
|
|
|
- //右下角数据
|
|
|
- rightGetList() {
|
|
|
- getHiddenDangerPage(this.Params).then((response) => {
|
|
|
- // console.log(response, "responseresponseresponse");
|
|
|
- this.tableData = response.data.list;
|
|
|
- });
|
|
|
- },
|
|
|
- },
|
|
|
-};
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="scss" scoped>
|
|
|
-.dashboard-editor-container {
|
|
|
- padding: 15px 32px 0px 32px;
|
|
|
- background-color: rgb(240, 242, 245);
|
|
|
- position: relative;
|
|
|
-
|
|
|
- .chart-wrapper {
|
|
|
- background: #fff;
|
|
|
- padding: 16px 16px 0;
|
|
|
- margin-bottom: 30px;
|
|
|
- overflow: auto;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-@media (max-width: 1024px) {
|
|
|
- .chart-wrapper {
|
|
|
- padding: 8px;
|
|
|
- overflow: auto;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.line-left {
|
|
|
- display: flex;
|
|
|
- width: 20%;
|
|
|
- flex-direction: column;
|
|
|
- background-color: #fff;
|
|
|
- height: 356px;
|
|
|
-
|
|
|
- .line-left-item {
|
|
|
- margin-left: 20px;
|
|
|
-
|
|
|
- .line-left-item-number {
|
|
|
- font-weight: 600;
|
|
|
- font-size: 16px;
|
|
|
- }
|
|
|
-
|
|
|
- .line-left-item-unit {
|
|
|
- font-weight: 500;
|
|
|
- font-size: 12px;
|
|
|
- float: right;
|
|
|
- margin-right: 30px;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .line-left-item-title {
|
|
|
- color: #657398;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.line-left-top {
|
|
|
- margin: 10px 0 10px 20px;
|
|
|
- color: #333;
|
|
|
- font-weight: 600;
|
|
|
- font-size: "12";
|
|
|
-}
|
|
|
-
|
|
|
-.bg {
|
|
|
- margin: 0 0 15px 20px;
|
|
|
- width: 85%;
|
|
|
- height: 35%;
|
|
|
- background: url("../assets/images/juxing.png") no-repeat;
|
|
|
- background-size: 100% 100%;
|
|
|
-
|
|
|
- .line-left-item-last {
|
|
|
- display: flex;
|
|
|
- font-size: 10px;
|
|
|
- color: #3e5478;
|
|
|
- margin-top: 6px;
|
|
|
-
|
|
|
- .xiajiang {
|
|
|
- color: #eb0101;
|
|
|
- margin-left: 6px;
|
|
|
- }
|
|
|
-
|
|
|
- .shangshen {
|
|
|
- color: #00d632;
|
|
|
- margin-left: 6px;
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// ::v-deep .el-table__row {
|
|
|
-// margin-bottom: 20px !important;
|
|
|
-// }
|
|
|
-
|
|
|
-// ::v-deep .el-table__row td:first-child {
|
|
|
-// border-left: 1px solid #E4E4E4;
|
|
|
-// }
|
|
|
-
|
|
|
-// ::v-deep .el-table__row td:first-child,
|
|
|
-// ::v-deep .el-table__row td:last-child {
|
|
|
-// border-top: 1px solid #E4E4E4;
|
|
|
-// border-bottom: 1px solid #E4E4E4;
|
|
|
-// }
|
|
|
-::v-deep .el-table th {
|
|
|
- border: none !important;
|
|
|
-}
|
|
|
-
|
|
|
-::v-deep .el-table__row td:last-child {
|
|
|
- border-right: 1px solid #e4e4e4;
|
|
|
-}
|
|
|
-
|
|
|
-// ::v-deep .el-table__row td:not(:first-child),
|
|
|
-// ::v-deep .el-table__row td:not(:last-child) {
|
|
|
-// border-top: 1px solid transparent;
|
|
|
-// }
|
|
|
-
|
|
|
-::v-deep .cell-start {
|
|
|
- border-top: 1px solid #ebeff0;
|
|
|
- border-bottom: 1px solid #ebeff0 !important;
|
|
|
- border-left: 1px solid #ebeff0;
|
|
|
-}
|
|
|
-
|
|
|
-::v-deep .cell-end {
|
|
|
- border-top: 1px solid #ebeff0;
|
|
|
- border-bottom: 1px solid #ebeff0 !important;
|
|
|
- border-right: 1px solid #ebeff0;
|
|
|
-}
|
|
|
-
|
|
|
-::v-deep .cell-middle {
|
|
|
- border-top: 1px solid #ebeff0;
|
|
|
- border-bottom: 1px solid #ebeff0 !important;
|
|
|
-}
|
|
|
-
|
|
|
-::v-deep .el-table__body {
|
|
|
- //这行代码为间隔效果!!!
|
|
|
- border-spacing: 0px 6px !important;
|
|
|
-}
|
|
|
-
|
|
|
-//滚动条样式
|
|
|
-::-webkit-scrollbar {
|
|
|
- width: 6px;
|
|
|
-}
|
|
|
-
|
|
|
-/* Track */
|
|
|
-::-webkit-scrollbar-track {
|
|
|
- background: #f1f1f1;
|
|
|
-}
|
|
|
-
|
|
|
-/* Handle */
|
|
|
-::-webkit-scrollbar-thumb {
|
|
|
- background: rgb(202, 208, 208);
|
|
|
- border-radius: 3px;
|
|
|
-}
|
|
|
-
|
|
|
-/* Handle on hover */
|
|
|
-::-webkit-scrollbar-thumb:hover {
|
|
|
- background: #888;
|
|
|
-}
|
|
|
-
|
|
|
-::v-deep .el-date-editor.el-input,
|
|
|
-::v-deep .el-date-editor.el-input__inner {
|
|
|
- width: 121px !important;
|
|
|
-}
|
|
|
-
|
|
|
-::v-deep .el-input__prefix {
|
|
|
- color: #01b0e3;
|
|
|
-}
|
|
|
-
|
|
|
-::v-deep .el-input__inner {
|
|
|
- border: 1px solid #01b0e3;
|
|
|
- color: #01b0e3;
|
|
|
-}
|
|
|
-
|
|
|
-::v-deep .el-dialog__body {
|
|
|
- padding: 10px;
|
|
|
-}
|
|
|
-</style>
|
|
|
+<template>
|
|
|
+ <div class="dashboard-editor-container">
|
|
|
+ <!-- <img src="../../static/20230321180755.png" alt="" style="width:100%;heighr:100%"> -->
|
|
|
+ <div>
|
|
|
+ <panel-group @handleSetLineChartData="handleSetLineChartData" />
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col
|
|
|
+ :xs="44"
|
|
|
+ :sm="44"
|
|
|
+ :lg="16"
|
|
|
+ :style="{ height: wheight + 10 + 'px', background: '#fff' }"
|
|
|
+ >
|
|
|
+ <!-- <div class="chart-wrapper" style="position: relative;">
|
|
|
+ <div class="date-picker" style="position: absolute;top: 0;right:30px;z-index:999;margin-top: 10px">
|
|
|
+ <el-date-picker v-model="selectedMonth" type="month" placeholder="选择月份" format="yyyy-MM"
|
|
|
+ value-format="yyyy-MM" @change="handleChange">
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ <bar-chart :chart-data="chartData" :selected-month="selectedMonth" />
|
|
|
+ </div> -->
|
|
|
+ <!-- :height="wheight?wheight" -->
|
|
|
+ <div style="margin-top: 10px; font-weight: 500; font-size: 15px">
|
|
|
+ <span>任务列表</span
|
|
|
+ ><span
|
|
|
+ style="float: right; cursor: pointer; float: right"
|
|
|
+ @click="gomorelist"
|
|
|
+ >更多</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ ref="filterTable"
|
|
|
+ :data="tableDataMiddle"
|
|
|
+ :height="wheight - 50"
|
|
|
+ style="width: 100%; padding-top: 10px"
|
|
|
+ @filter-change="filterTags"
|
|
|
+ >
|
|
|
+ <el-table-column label="任务名称" align="center" prop="taskName" />
|
|
|
+ <el-table-column label="任务类型" align="center" prop="taskType">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <dict-tag
|
|
|
+ :type="DICT_TYPE.TASK_TYPE"
|
|
|
+ :value="scope.row.taskType"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="任务内容" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div v-html="scope.row.taskContent"></div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="任务状态"
|
|
|
+ align="center"
|
|
|
+ prop="taskStatus"
|
|
|
+ :filters="[
|
|
|
+ { text: '待完成', value: 1 },
|
|
|
+ { text: '待审核', value: 2 },
|
|
|
+ { text: '已归档', value: 3 },
|
|
|
+ ]"
|
|
|
+ filter-placement="bottom-end"
|
|
|
+ :filter-multiple="false"
|
|
|
+ column-key="taskStatus"
|
|
|
+ v-slot="scope"
|
|
|
+ >
|
|
|
+ <template>
|
|
|
+ <dict-tag
|
|
|
+ :type="DICT_TYPE.TASK_STATUS"
|
|
|
+ :value="scope.row.taskStatus"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <el-table-column prop="tag" label="任务状态" width="100"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag :type="scope.row.tag === '家' ? 'primary' : 'success'"
|
|
|
+ disable-transitions>{{ scope.row.tag }}</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column> -->
|
|
|
+ </el-table>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8">
|
|
|
+ <div class="chart-wrapper" style="position: relative">
|
|
|
+ <div
|
|
|
+ class="date-picker"
|
|
|
+ style="
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 170px;
|
|
|
+ z-index: 999;
|
|
|
+ margin-top: 10px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-date-picker
|
|
|
+ v-model="selectedMonths"
|
|
|
+ type="month"
|
|
|
+ placeholder="选择月份"
|
|
|
+ format="M"
|
|
|
+ value-format="M"
|
|
|
+ @change="handleChange"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ <raddar-chart :reportData="reportData" />
|
|
|
+ <!-- <div>详细情况</div> -->
|
|
|
+ <el-button
|
|
|
+ size="middle"
|
|
|
+ type="text"
|
|
|
+ style="
|
|
|
+ position: absolute;
|
|
|
+ bottom: 5px;
|
|
|
+ right: 50px;
|
|
|
+ z-index: 999;
|
|
|
+ margin-top: 10px;
|
|
|
+ "
|
|
|
+ @click="handleDeatail"
|
|
|
+ >详细情况</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8">
|
|
|
+ <div class="chart-wrapper">
|
|
|
+ <pie-chart />
|
|
|
+ </div>
|
|
|
+ </el-col> -->
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :xs="44" :sm="44" :lg="16">
|
|
|
+ <div style="display: flex">
|
|
|
+ <!-- <div class="line-left"> -->
|
|
|
+ <!-- <div class="line-left-top">任务完成数</div>
|
|
|
+ <div class="bg">
|
|
|
+ <p class="line-left-item line-left-item-title">本月完成量</p>
|
|
|
+ <div class="line-left-item"><span class="line-left-item-number">232</span><span
|
|
|
+ class="line-left-item-unit">条</span></div>
|
|
|
+ <div class="line-left-item line-left-item-last">同比上月 <span class="xiajiang">12%</span><img
|
|
|
+ src="../assets/images/xiajiang.png" style="width:6px;height:8px;margin: 6px 0 0 3px;"></div>
|
|
|
+ </div>
|
|
|
+ <div class="bg">
|
|
|
+ <p class="line-left-item line-left-item-title">本周完成量</p>
|
|
|
+ <div class="line-left-item"><span class="line-left-item-number">232</span><span
|
|
|
+ class="line-left-item-unit">条</span></div>
|
|
|
+ <div class="line-left-item line-left-item-last">同比上月 <span class="shangshen">12%</span><img
|
|
|
+ src="../assets/images/shangshen.png" style="width:6px;height:8px;margin: 6px 0 0 3px;"></div>
|
|
|
+ </div> -->
|
|
|
+ <!-- </div> -->
|
|
|
+ <div
|
|
|
+ class="chart-wrapper"
|
|
|
+ style="position: relative; width: 100%; margin-bottom: 0"
|
|
|
+ id="wheight"
|
|
|
+ >
|
|
|
+ <line-chart
|
|
|
+ :chart-data="lineChartData"
|
|
|
+ :chart-datano="lineChartDatano"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8">
|
|
|
+ <div
|
|
|
+ class="chart-wrapper chart-wrappers"
|
|
|
+ style="height: 356px; overflow: auto"
|
|
|
+ >
|
|
|
+ <div style="margin-bottom: 10px">
|
|
|
+ <span class="line-left-top">整改隐患记录</span
|
|
|
+ ><span style="float: right; cursor: pointer" @click="more"
|
|
|
+ >更多</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ :data="tableData"
|
|
|
+ style="width: 100%"
|
|
|
+ :cell-class-name="tableCellClassName"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ label="任务名称"
|
|
|
+ prop="task_name"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="检查时间"
|
|
|
+ prop="inspect_time"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template v-slot="scope">
|
|
|
+ <span>{{ parseTime(scope.row.inspect_time) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="单位名称"
|
|
|
+ prop="org_name"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <el-dialog
|
|
|
+ title="维保报告单位数量详情"
|
|
|
+ :visible.sync="showRaddarDetail"
|
|
|
+ width="60%"
|
|
|
+ v-dialogDrag
|
|
|
+ append-to-body
|
|
|
+ class="details"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ @click="handleDeatailWei"
|
|
|
+ style="margin-bottom: 10px"
|
|
|
+ >未上传</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="success"
|
|
|
+ plain
|
|
|
+ @click="handleDeatailYi"
|
|
|
+ style="margin-bottom: 10px"
|
|
|
+ >已上传</el-button
|
|
|
+ >
|
|
|
+ <el-table
|
|
|
+ highlight-current-row
|
|
|
+ v-loading="loading"
|
|
|
+ :data="list"
|
|
|
+ style="width: 100%; overflow: auto"
|
|
|
+ >
|
|
|
+ <el-table-column label="ID" align="center" prop="id" />
|
|
|
+ <el-table-column label="单位名称" align="center" prop="orgName">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <span style="color: forestgreen" @click="opentabs = true">{{
|
|
|
+ scope.row.orgName
|
|
|
+ }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <!-- 分页组件 -->
|
|
|
+ <pagination
|
|
|
+ v-show="total > 0"
|
|
|
+ :total="total"
|
|
|
+ :page.sync="queryRader.pageNo"
|
|
|
+ :limit.sync="queryRader.pageSize"
|
|
|
+ @pagination="getData"
|
|
|
+ />
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import PanelGroup from "./dashboard/PanelGroup";
|
|
|
+import LineChart from "./dashboard/LineChart";
|
|
|
+import RaddarChart from "./dashboard/RaddarChart";
|
|
|
+import PieChart from "./dashboard/PieChart";
|
|
|
+import BarChart from "./dashboard/BarChart";
|
|
|
+import {
|
|
|
+ getTaskInfoPage,
|
|
|
+ countdengerbyday,
|
|
|
+ currentReport,
|
|
|
+} from "@/api/backend/taskInfo";
|
|
|
+import { getHiddenDangerPage } from "@/api/backend/hiddenDanger";
|
|
|
+import { computed } from "vue";
|
|
|
+import { getOrgPage } from "@/api/backend/org";
|
|
|
+const lineChartData = {
|
|
|
+ newVisitis: {
|
|
|
+ // expectedData: [100, 120, 161, 134, 105, 160, 165],
|
|
|
+ actualData: [120, 82, 91, 154, 162, 140, 145],
|
|
|
+ },
|
|
|
+ // messages: {
|
|
|
+ // // expectedData: [200, 192, 120, 144, 160, 130, 140],
|
|
|
+ // actualData: [180, 160, 151, 106, 145, 150, 130]
|
|
|
+ // },
|
|
|
+ // purchases: {
|
|
|
+ // // expectedData: [80, 100, 121, 104, 105, 90, 100], //预期数据
|
|
|
+ // actualData: [120, 90, 100, 138, 142, 130, 130] //实际数据
|
|
|
+ // },
|
|
|
+ // shoppings: {
|
|
|
+ // // expectedData: [130, 140, 141, 142, 145, 150, 160],
|
|
|
+ // actualData: [120, 82, 91, 154, 162, 140, 130]
|
|
|
+ // },
|
|
|
+ // installation: {
|
|
|
+ // actualData: [120, 82, 91, 154, 162, 140, 130]
|
|
|
+ // }
|
|
|
+};
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "Index",
|
|
|
+ components: {
|
|
|
+ PanelGroup,
|
|
|
+ LineChart,
|
|
|
+ RaddarChart,
|
|
|
+ PieChart,
|
|
|
+ BarChart,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ wheight: 300,
|
|
|
+ list: [], //维保报告
|
|
|
+ // 遮罩层
|
|
|
+ loading: true,
|
|
|
+ tableDataMiddle: [],
|
|
|
+ tableData: [
|
|
|
+ // { systemName: '系统A', taskCount: 10, completionRate: '60%' },
|
|
|
+ // { systemName: '系统B', taskCount: 20, completionRate: '80%' },
|
|
|
+ // { systemName: '系统C', taskCount: 30, completionRate: '90%' },
|
|
|
+ // { systemName: '系统D', taskCount: 40, completionRate: '70%' }
|
|
|
+ ],
|
|
|
+ lineChartData: {},
|
|
|
+ lineChartDatano: {},
|
|
|
+ //选择月份
|
|
|
+ chartData: [
|
|
|
+ // 消防巡检数数据
|
|
|
+ { date: "2023-2-10", value: 70 },
|
|
|
+ { date: "2023-2-13", value: 40 },
|
|
|
+ { date: "2023-2-15", value: 20 },
|
|
|
+ { date: "2023-2-16", value: 60 },
|
|
|
+ { date: "2023-2-20", value: 123 },
|
|
|
+ { date: "2023-2-22", value: 80 },
|
|
|
+ { date: "2023-2-23", value: 140 },
|
|
|
+ { date: "2023-2-24", value: 190 },
|
|
|
+ ],
|
|
|
+ // 查询参数
|
|
|
+ queryParams: {
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ taskStatus: 1,
|
|
|
+ },
|
|
|
+ Params: {
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ userId: this.$store.state.user.id,
|
|
|
+ },
|
|
|
+ reportData: {},
|
|
|
+ selectedMonths: "",
|
|
|
+ showRaddarDetail: false, //维保单位详情
|
|
|
+ total: 0,
|
|
|
+ queryRader: {
|
|
|
+ pageSize: 10,
|
|
|
+ pageNo: 1,
|
|
|
+ },
|
|
|
+ selectedMonth: new Date().toLocaleDateString().substring(0, 7), // 默认选中当前月份
|
|
|
+ };
|
|
|
+ },
|
|
|
+ // 监听 Element UI 中的筛选月份变化
|
|
|
+ watch: {
|
|
|
+ //选择月份
|
|
|
+ selectedMonths: function (newVal) {
|
|
|
+ this.fetchData();
|
|
|
+ // 过滤并更新消防巡检数数据
|
|
|
+ // this.chartData = this.filterAndSortData();
|
|
|
+ },
|
|
|
+ // 'queryParams.taskStatus':function (newVal) {
|
|
|
+ // this.queryParams.taskStatus=newVal
|
|
|
+ // this.getList()
|
|
|
+ // console.log(this.queryParams.taskStatus,'newValnewVal');
|
|
|
+
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ // var hi=document.getElementById('wheight').clientHeight
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.wheight = document.getElementById("wheight").clientHeight;
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ this.countdengerbyday();
|
|
|
+ this.countdengerbydayno();
|
|
|
+ this.rightGetList();
|
|
|
+ this.fetchData();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ handleDeatailWei() {
|
|
|
+ //未上传
|
|
|
+ },
|
|
|
+ handleDeatailYi() {
|
|
|
+ //已上传
|
|
|
+ },
|
|
|
+ handleDeatail() {
|
|
|
+ this.showRaddarDetail = true;
|
|
|
+ this.getData();
|
|
|
+ },
|
|
|
+ async fetchData() {
|
|
|
+ const time = this.selectedMonths;
|
|
|
+ const month = this.selectedMonths
|
|
|
+ ? this.selectedMonths
|
|
|
+ : new Date().getMonth() + 1; // 如果已选择月份使用已选择的月份,否则默认为当前月份
|
|
|
+ const res = await currentReport({ month: month });
|
|
|
+ this.reportData = res.data;
|
|
|
+ },
|
|
|
+ more() {
|
|
|
+ this.$router.push({ path: "/backend/hiddendanger" });
|
|
|
+ },
|
|
|
+ gomorelist() {
|
|
|
+ this.$router.push({ path: "/backend/taskInfo" });
|
|
|
+ },
|
|
|
+ //统计参数月份没有上传维保报告的数量
|
|
|
+ async currentReport() {},
|
|
|
+ //近30天隐患统计
|
|
|
+ async countdengerbyday() {
|
|
|
+ const res = await countdengerbyday({
|
|
|
+ dengerStatus: 1,
|
|
|
+ userId: this.$store.state.user.id,
|
|
|
+ });
|
|
|
+ this.lineChartData = res;
|
|
|
+ // console.log(res, "ressrw");
|
|
|
+ },
|
|
|
+ async countdengerbydayno() {
|
|
|
+ //未解决
|
|
|
+ const res = await countdengerbyday({
|
|
|
+ dengerStatus: 0,
|
|
|
+ userId: this.$store.state.user.id,
|
|
|
+ });
|
|
|
+ this.lineChartDatano = res;
|
|
|
+ // console.log(res, "ressrw");
|
|
|
+ },
|
|
|
+ //任务列表表格
|
|
|
+ filterTags(filters) {
|
|
|
+ this.queryParams.taskStatus = filters.taskStatus[0];
|
|
|
+ // console.log(filters,'filters');
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ //用来修改单元格css
|
|
|
+ tableCellClassName({ row, column, rowIndex, columnIndex }) {
|
|
|
+ if (columnIndex == 0) {
|
|
|
+ return "cell-start";
|
|
|
+ } else if (columnIndex == 9) {
|
|
|
+ return "cell-end";
|
|
|
+ } else {
|
|
|
+ return "cell-middle";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSetLineChartData(type) {
|
|
|
+ this.lineChartData = lineChartData[type];
|
|
|
+ },
|
|
|
+ handleChange(val) {
|
|
|
+ //选择月份
|
|
|
+ this.selectedMonths = val;
|
|
|
+ this.selectedMonth = val;
|
|
|
+ },
|
|
|
+ /** 查询列表 */
|
|
|
+ getList() {
|
|
|
+ // 执行查询
|
|
|
+ getTaskInfoPage(this.queryParams).then((response) => {
|
|
|
+ // console.log(response, "responseresponse");
|
|
|
+ this.tableDataMiddle = response.data.list;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getData() {
|
|
|
+ this.loading = true;
|
|
|
+ getOrgPage(this.queryRader).then((response) => {
|
|
|
+ this.list = response.data.list;
|
|
|
+ this.total = response.data.total;
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //右下角数据
|
|
|
+ rightGetList() {
|
|
|
+ getHiddenDangerPage(this.Params).then((response) => {
|
|
|
+ // console.log(response, "responseresponseresponse");
|
|
|
+ this.tableData = response.data.list;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.dashboard-editor-container {
|
|
|
+ padding: 15px 32px 0px 32px;
|
|
|
+ background-color: rgb(240, 242, 245);
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ .chart-wrapper {
|
|
|
+ background: #fff;
|
|
|
+ padding: 16px 16px 0;
|
|
|
+ margin-bottom: 30px;
|
|
|
+ overflow: auto;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+@media (max-width: 1024px) {
|
|
|
+ .chart-wrapper {
|
|
|
+ padding: 8px;
|
|
|
+ overflow: auto;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.line-left {
|
|
|
+ display: flex;
|
|
|
+ width: 20%;
|
|
|
+ flex-direction: column;
|
|
|
+ background-color: #fff;
|
|
|
+ height: 356px;
|
|
|
+
|
|
|
+ .line-left-item {
|
|
|
+ margin-left: 20px;
|
|
|
+
|
|
|
+ .line-left-item-number {
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .line-left-item-unit {
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 12px;
|
|
|
+ float: right;
|
|
|
+ margin-right: 30px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .line-left-item-title {
|
|
|
+ color: #657398;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.line-left-top {
|
|
|
+ margin: 10px 0 10px 20px;
|
|
|
+ color: #333;
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: "12";
|
|
|
+}
|
|
|
+
|
|
|
+.bg {
|
|
|
+ margin: 0 0 15px 20px;
|
|
|
+ width: 85%;
|
|
|
+ height: 35%;
|
|
|
+ background: url("../assets/images/juxing.png") no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+
|
|
|
+ .line-left-item-last {
|
|
|
+ display: flex;
|
|
|
+ font-size: 10px;
|
|
|
+ color: #3e5478;
|
|
|
+ margin-top: 6px;
|
|
|
+
|
|
|
+ .xiajiang {
|
|
|
+ color: #eb0101;
|
|
|
+ margin-left: 6px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .shangshen {
|
|
|
+ color: #00d632;
|
|
|
+ margin-left: 6px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// ::v-deep .el-table__row {
|
|
|
+// margin-bottom: 20px !important;
|
|
|
+// }
|
|
|
+
|
|
|
+// ::v-deep .el-table__row td:first-child {
|
|
|
+// border-left: 1px solid #E4E4E4;
|
|
|
+// }
|
|
|
+
|
|
|
+// ::v-deep .el-table__row td:first-child,
|
|
|
+// ::v-deep .el-table__row td:last-child {
|
|
|
+// border-top: 1px solid #E4E4E4;
|
|
|
+// border-bottom: 1px solid #E4E4E4;
|
|
|
+// }
|
|
|
+::v-deep .el-table th {
|
|
|
+ border: none !important;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-table__row td:last-child {
|
|
|
+ border-right: 1px solid #e4e4e4;
|
|
|
+}
|
|
|
+
|
|
|
+// ::v-deep .el-table__row td:not(:first-child),
|
|
|
+// ::v-deep .el-table__row td:not(:last-child) {
|
|
|
+// border-top: 1px solid transparent;
|
|
|
+// }
|
|
|
+
|
|
|
+::v-deep .cell-start {
|
|
|
+ border-top: 1px solid #ebeff0;
|
|
|
+ border-bottom: 1px solid #ebeff0 !important;
|
|
|
+ border-left: 1px solid #ebeff0;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .cell-end {
|
|
|
+ border-top: 1px solid #ebeff0;
|
|
|
+ border-bottom: 1px solid #ebeff0 !important;
|
|
|
+ border-right: 1px solid #ebeff0;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .cell-middle {
|
|
|
+ border-top: 1px solid #ebeff0;
|
|
|
+ border-bottom: 1px solid #ebeff0 !important;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-table__body {
|
|
|
+ //这行代码为间隔效果!!!
|
|
|
+ border-spacing: 0px 6px !important;
|
|
|
+}
|
|
|
+
|
|
|
+//滚动条样式
|
|
|
+::-webkit-scrollbar {
|
|
|
+ width: 6px;
|
|
|
+}
|
|
|
+
|
|
|
+/* Track */
|
|
|
+::-webkit-scrollbar-track {
|
|
|
+ background: #f1f1f1;
|
|
|
+}
|
|
|
+
|
|
|
+/* Handle */
|
|
|
+::-webkit-scrollbar-thumb {
|
|
|
+ background: rgb(202, 208, 208);
|
|
|
+ border-radius: 3px;
|
|
|
+}
|
|
|
+
|
|
|
+/* Handle on hover */
|
|
|
+::-webkit-scrollbar-thumb:hover {
|
|
|
+ background: #888;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-date-editor.el-input,
|
|
|
+::v-deep .el-date-editor.el-input__inner {
|
|
|
+ width: 121px !important;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-input__prefix {
|
|
|
+ color: #01b0e3;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-input__inner {
|
|
|
+ border: 1px solid #01b0e3;
|
|
|
+ color: #01b0e3;
|
|
|
+}
|
|
|
+
|
|
|
+::v-deep .el-dialog__body {
|
|
|
+ padding: 10px;
|
|
|
+}
|
|
|
+</style>
|