zxl
2025-03-25 6ae0fcef149ddbe614746023a58a3885b3ac4bde
src/views/index.vue
@@ -65,13 +65,114 @@
          </el-form>
        </div>
      </div>
      <!-- 统计情况 -->
      <ProjectOverview
        :calculation="calculation"
        :countExceptionProjectData="countExceptionProjectData"
      />
    </div>
    <!-- 代办事项 -->
<!--    <el-card>-->
<!--      <div style="display: flex;min-height: 300px">-->
<!--        <div style="flex: 2;display: flex;flex-direction: column; justify-content: center;align-items: flex-start">-->
<!--          <div class="flex justify-between mb-[15px]" style="align-items: center;margin-bottom: 5px">-->
<!--            <div class="block mb-3 font-semibold fonts">流程推进情况总览</div>-->
<!--          </div>-->
<!--          <el-table-->
<!--            :data="projectProcessData"-->
<!--            :header-cell-style="{-->
<!--                background: '#F5F7FC',-->
<!--                color: '#454B5E',-->
<!--                fontSize: '12px'-->
<!--            }"-->
<!--            min-height="280"-->
<!--            max-height="280"-->
<!--          >-->
<!--            <el-table-column-->
<!--              label="项目名称"-->
<!--              prop="name"-->
<!--              :show-overflow-tooltip="true"-->
<!--            >-->
<!--            </el-table-column>-->
<!--            <el-table-column-->
<!--              label="当前/总计"-->
<!--              width="100px"-->
<!--              prop="num"-->
<!--            >-->
<!--            </el-table-column>-->
<!--          </el-table>-->
<!--        </div>-->
<!--        <div style="flex: 1.5;display: flex;justify-content: center;align-items: center">-->
<!--          <div ref="pie" style="width: 85%; height: 100%;"></div>-->
<!--        </div>-->
<!--        <div style="flex: 2;display: flex;flex-direction: column; justify-content: center;align-items: flex-start">-->
<!--          <div style="display: flex;align-items: center;margin-bottom: 5px;width: 100%">-->
<!--            <div class="block  font-semibold fonts" style="width: 100%">-->
<!--              <div style="display: flex; font-size: 12px; justify-content: flex-end;width: 100%">-->
<!--                <div-->
<!--                  :class="{ active: true }"-->
<!--                  class="tab"-->
<!--                >-->
<!--                  准时率-->
<!--                </div>-->
<!--                <div-->
<!--                  :class="{ active: false }"-->
<!--                  class="tab"-->
<!--                >-->
<!--                  异常率-->
<!--                </div>-->
<!--                <div-->
<!--                  :class="{ active: false }"-->
<!--                  class="tab"-->
<!--                >-->
<!--                  办结率-->
<!--                </div>-->
<!--              </div>-->
<!--            </div>-->
<!--          </div>-->
<!--          <el-table-->
<!--            :data="projectProcessData1"-->
<!--            :header-cell-style="{-->
<!--                background: '#F5F7FC',-->
<!--                color: '#454B5E',-->
<!--                fontSize: '12px'-->
<!--            }"-->
<!--            min-height="280"-->
<!--            max-height="280"-->
<!--          >-->
<!--            <el-table-column-->
<!--              label="发布单位"-->
<!--              width="150"-->
<!--              prop="name"-->
<!--            >-->
<!--            </el-table-column>-->
<!--            <el-table-column-->
<!--              label="内容"-->
<!--              prop="content"-->
<!--              width="250"-->
<!--              :show-overflow-tooltip="true"-->
<!--            >-->
<!--            </el-table-column>-->
<!--            <el-table-column-->
<!--              label="时间"-->
<!--              prop="time"-->
<!--            >-->
<!--            </el-table-column>-->
<!--            <el-table-column-->
<!--              fixed="right"-->
<!--              align="center"-->
<!--              label="操作"-->
<!--              >-->
<!--              <template slot-scope="scope">-->
<!--                <el-button type="text" size="small">查看</el-button>-->
<!--              </template>-->
<!--            </el-table-column>-->
<!--          </el-table>-->
<!--        </div>-->
<!--      </div>-->
<!--    </el-card>-->
    <!-- 待办事项 -->
    <div class="flex">
      <div class="flex_card">
        <el-card>
@@ -117,7 +218,7 @@
              id="DangerSourceId"
              ref="mapRef"
              :is-show-control="true"
              :list-type="true"
              :list-type="false"
              :map-list="tableDatas"
              :map-type="true"
              class="w-full h-full border-r border-[#DBDEEA]"
@@ -140,11 +241,58 @@
import Map from "./components/Map/index.vue";
import { getCalculatioln, getAbnormalData } from "@/api/login";
import { searchByKey } from "@/api/projectEngineering/projectInfo";
import * as echarts from 'echarts';
export default {
  name: "Index",
  data() {
    return {
      pie: null,
      pieData: {},
      projectProcessData: [
        // {
        //   name: '交通类项目审批流程(简易程序)',
        //   num: '11/45'
        // },
        // {
        //   name: '交通类项目审批流程(一般农村公路)',
        //   num: '12/15'
        // },
        // {
        //   name: '交通类项目审批流程(重要农村公路)',
        //   num: '16/30'
        // },
        // {
        //   name: '交通类项目审批流程(国省道)',
        //   num: '2/18'
        // },
        // {
        //   name: '社会投资项目审批流程',
        //   num: '9/16'
        // },
      ],
      projectProcessData1: [
        // {
        //   name: '射洪市人民政府',
        //   content: '射洪经开区绿然幸福小区旁工地长期夜间',
        //   time: '2025-01-06'
        // },
        // {
        //   name: '射洪市人民政府',
        //   content: '关于哨楼村拆迁 方案和 拆迁协议的疑问',
        //   time: '2025-01-02'
        // },
        // {
        //   name: '射洪市人民政府',
        //   content: '射洪整治一下城区汽车随意乱鸣笛行为',
        //   time: '2025-01-02'
        // },
        // {
        //   name: '射洪市人民政府',
        //   content: '维卡国际公馆开发商未按时办理房产证',
        //   time: '2025-01-01'
        // }
      ],
      queryParams: {},
      timeMerge: [],
      sys_administrative_divisions: [],
@@ -170,11 +318,61 @@
    TidingsTable,
    Map,
  },
  created() {
  mounted() {
    this.$nextTick(() => {
      this.pie = echarts.init(this.$refs.pie)
      this.pie.setOption(this.getPieOption())
    })
    this.handleQuery();
    this.searchList();
  },
  methods: {
    getPieOption() {
      return {
        title: {
          left: 'center'
        },
        tooltip: {
          trigger: 'item',
          formatter: '{a} <br/>{b}: {c} ({d}%)'
        },
        legend: {
          orient: 'horizontal',
          left: 'center',
          bottom: 1,
          data: ['超时', '准时', '延时', '督办']
        },
        series: [
          {
            name: '饼图名称',
            type: 'pie',
            radius: ['50%', '70%'],
            avoidLabelOverlap: false,
            label: {
              show: false,
              position: 'center'
            },
            emphasis: {
              label: {
                show: true,
                fontSize: '30',
                fontWeight: 'bold'
              }
            },
            labelLine: {
              show: false
            },
            data: [
              {value: 335, name: '超时'},
              {value: 310, name: '准时'},
              {value: 234, name: '延时'},
              {value: 135, name: '督办'},
            ]
          }
        ]
      }
    },
    dataPickerChange(val) {
      if (!val) {
        this.queryParams.startTime = "";
@@ -218,6 +416,25 @@
      this.abnormalData(obj);
    },
    // 地图搜索
    searchList() {
      var _this = this;
      searchByKey({ wordKey: this.searchForm.name }).then((res) => {
        if (res.code == 200) {
          if (res.data.length > 0) {
            // this.$refs["mapRef"].showProjectInfo(res.data);
            // _this.tableDatas = res.data;
            setTimeout(() => {
              _this.$refs["mapRef"].makeAllMask(res.data);
            }, 2000);
          } else {
            // _this.$message.error("未查询到对应项目");
          }
        } else {
          _this.$message.error(res.msg);
        }
      });
    },
    // 获取异常数据
    async abnormalData(obj) {
      const res = await getAbnormalData(obj);
@@ -248,26 +465,6 @@
      };
      this.timeMerge = [];
      this.handleQuery();
    },
    // 地图搜索
    searchList() {
      var _this = this;
      searchByKey({ wordKey: this.searchForm.name }).then((res) => {
        if (res.code == 200) {
          if (res.data.length > 0) {
            // this.$refs["mapRef"].showProjectInfo(res.data);
            // _this.tableDatas = res.data;
            setTimeout(() => {
              _this.$refs["mapRef"].makeAllMask(res.data);
            }, 2000);
          } else {
            _this.$message.error("未查询到对应项目");
          }
        } else {
          _this.$message.error(res.msg);
        }
      });
    },
    mapQuery() {},
  },
@@ -371,5 +568,18 @@
  height: 500px;
  border: #dbdeea;
}
.tab {
  padding: 6px;
  border: 1px solid #dbdeea;
  cursor: pointer;
  width: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.active {
  border: 1px solid #3369ff;
  color: #3369ff;
}
</style>