|
@@ -0,0 +1,283 @@
|
|
|
+<template>
|
|
|
+ <div class="in_box">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="19">
|
|
|
+ <div class="in_left">
|
|
|
+ <div class="toReviewed">
|
|
|
+ <el-table v-loading="loading" style="max-height: 695px;overflow-y: auto;" :data="infoList">
|
|
|
+ <el-table-column label="项目名称" align="center" prop="name" />
|
|
|
+ <el-table-column label="时间" align="center" prop="createTime" />
|
|
|
+ <el-table-column label="操作" width="280" align="center" class-name="small-padding fixed-width">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button size="mini" type="text" style="background: #F5A40C;color: #FFF;padding: 7px;" v-hasPermi="['projectInfo:info:edit']"
|
|
|
+ @click="dec_btn(scope.row)">查看详情</el-button>
|
|
|
+ <el-button size="mini" type="text" style="background: #0669B2;color: #FFF;padding: 7px;" v-hasPermi="['projectInfo:info:edit']"
|
|
|
+ @click="infoBtn(scope.row)">{{scope.row.projectStatus%2==1?'提交审核':'驳回'}}</el-button>
|
|
|
+ <el-button size="mini" type="text" style="background: #DE1939;color: #FFF;padding: 7px;" v-hasPermi="['projectInfo:info:edit']"
|
|
|
+ @click="bh_brn(scope.row)">销号</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <div class="exl_box">
|
|
|
+ <div class="exl_title">
|
|
|
+ <span>招资引资项目到资金额</span>
|
|
|
+ <el-date-picker v-model="lb_value" style="width: 100px;" type="year" value-format="yyyy" @change="picher_fn"
|
|
|
+ placeholder="选择年">
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ <echarts :echartData="echartData" :ehaersList="ehaersList" v-if="flags"></echarts>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="5" style="padding: 24px 12px 24px 0 ;">
|
|
|
+ <div class="in_right">
|
|
|
+ <div class="rig_title">
|
|
|
+ 单位榜单
|
|
|
+ </div>
|
|
|
+ <div class="rig_tab_top">
|
|
|
+ <div class="rig_tab_item">
|
|
|
+ 单位名称
|
|
|
+ </div>
|
|
|
+ <div class="rig_tab_item">
|
|
|
+ 目标任务
|
|
|
+ </div>
|
|
|
+ <div class="rig_tab_item">
|
|
|
+ 已完成任务
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="rig_cont">
|
|
|
+ <div class="rig_items" v-for="(item,index) in unitList" :key="index">
|
|
|
+ <span>{{item.deptName}}</span>
|
|
|
+ <span>{{item.targetInvestmentNum?item.targetInvestmentNum:0}}个</span>
|
|
|
+ <span>{{item.successMission?item.successMission:0}}个</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="rig_tab_top" style="background-color: #1C84C6;">
|
|
|
+ <div class="rig_tab_item">
|
|
|
+ 单位名称
|
|
|
+ </div>
|
|
|
+ <div class="rig_tab_item">
|
|
|
+ 目标合同金额
|
|
|
+ </div>
|
|
|
+ <div class="rig_tab_item">
|
|
|
+ 实际合同金额
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="rig_cont">
|
|
|
+ <div class="rig_items" v-for="(item,index) in zjList" :key="index">
|
|
|
+ <span>{{item.deptName}}</span>
|
|
|
+ <span>{{item.targetContractAmount}}万</span>
|
|
|
+ <span>{{item.totAmt}}万</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+ import echarts from '@/components/Echarts/indexTwo.vue'
|
|
|
+ import {
|
|
|
+ toBeReviewedList,
|
|
|
+ getStatisticst,
|
|
|
+ getTotAmtList,
|
|
|
+ setExamine,
|
|
|
+ setReject,
|
|
|
+ getUnitList,
|
|
|
+ getUnitAmountList,
|
|
|
+ getProjectContractEharts
|
|
|
+ } from '@/api/statistical/index.js'
|
|
|
+ export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ infoList: [],
|
|
|
+ echartData: {
|
|
|
+ name: '签约数及合同金额柱状图',
|
|
|
+ numName: ['签约项目个数', '合同金额'],
|
|
|
+ numNameArr: ['签约项目个数', '合同金额']
|
|
|
+ },
|
|
|
+ zjList: [],
|
|
|
+ ehaersList: {},
|
|
|
+ loading: false,
|
|
|
+ unitList: [],
|
|
|
+ flags: false,
|
|
|
+ lb_value: '2021', // 柱状图类别
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ echarts
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.getList()
|
|
|
+ this.bd_btn()
|
|
|
+ this.zj_btn()
|
|
|
+ this.eharts_fn()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ picher_fn() {
|
|
|
+ this.eharts_fn()
|
|
|
+ },
|
|
|
+ eharts_fn(val) {
|
|
|
+ getProjectContractEharts({
|
|
|
+ year: this.lb_value
|
|
|
+ }).then(res => {
|
|
|
+ this.ehaersList = res.data
|
|
|
+ this.flags = true
|
|
|
+ })
|
|
|
+ },
|
|
|
+ zj_btn() {
|
|
|
+ getTotAmtList().then(res => {
|
|
|
+ this.zjList = res.rows
|
|
|
+ })
|
|
|
+ },
|
|
|
+ bd_btn() {
|
|
|
+ getUnitAmountList().then(res => {
|
|
|
+ this.unitList = res.rows
|
|
|
+ })
|
|
|
+ },
|
|
|
+ dec_btn() {
|
|
|
+
|
|
|
+ },
|
|
|
+ bh_brn(scope) {
|
|
|
+ this.$confirm('是否确认销号', "提醒", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function() {
|
|
|
+ delProject(scope.id).then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.msgSuccess("提交成功");
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ infoBtn(scope) {
|
|
|
+ if (scope.projectStatus % 2 == 1) {
|
|
|
+ this.$confirm('是否确认提交审核', "提醒", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function() {
|
|
|
+ return setExamine({
|
|
|
+ code: 1,
|
|
|
+ bmProjectId: scope.id
|
|
|
+ });
|
|
|
+ }).then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.msgSuccess("提交成功");
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$confirm('是否确认驳回', "提醒", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function() {
|
|
|
+ return setReject({
|
|
|
+ code: 2,
|
|
|
+ bmProjectId: scope.id
|
|
|
+ });
|
|
|
+ }).then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.msgSuccess("提交成功");
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ getList() {
|
|
|
+ getStatisticst('4,5').then(res => {
|
|
|
+ this.infoList = res.rows
|
|
|
+ })
|
|
|
+ },
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+ .rig_tab_top {
|
|
|
+ display: flex;
|
|
|
+ background: #6DCEF6;
|
|
|
+ line-height: 36px;
|
|
|
+ color: #fff;
|
|
|
+
|
|
|
+ .rig_tab_item {
|
|
|
+ font-size: 14px;
|
|
|
+ flex: 1;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .rig_cont {
|
|
|
+ border: 1px solid #CDCDCD;
|
|
|
+ box-sizing: border-box;
|
|
|
+ margin-bottom: 31px;
|
|
|
+ max-height: 270px;
|
|
|
+ overflow-y: auto;
|
|
|
+ scrollbar-width: none;
|
|
|
+ /* firefox */
|
|
|
+ -ms-overflow-style: none;
|
|
|
+
|
|
|
+ /* IE 10+ */
|
|
|
+ &::-webkit-scrollbar {
|
|
|
+ display: none;
|
|
|
+ /* Chrome Safari */
|
|
|
+ }
|
|
|
+
|
|
|
+ .rig_items {
|
|
|
+ line-height: 36px;
|
|
|
+ color: #343434;
|
|
|
+ font-size: 12px;
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ span {
|
|
|
+ flex: 1;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .in_right {
|
|
|
+ padding: 15px 15px 0;
|
|
|
+ border: 1px solid #DADADA;
|
|
|
+ box-shadow: 0px 7px 9px 2px rgba(201, 201, 201, 0.36);
|
|
|
+
|
|
|
+ .rig_title {
|
|
|
+ color: #1C84C6;
|
|
|
+ font-size: 18px;
|
|
|
+ line-height: 36px;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .in_left {
|
|
|
+ padding: 24px 20px 40px;
|
|
|
+
|
|
|
+ .toReviewed {
|
|
|
+ padding: 19px 16px;
|
|
|
+ border: 1px solid #DADADA;
|
|
|
+ box-shadow: 0px 7px 9px 2px rgba(201, 201, 201, 0.36);
|
|
|
+ margin-bottom: 38px;
|
|
|
+
|
|
|
+ .rev_title {
|
|
|
+ margin-bottom: 23px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .exl_box {
|
|
|
+ border: 1px solid #DADADA;
|
|
|
+ box-shadow: 0px 7px 9px 2px rgba(201, 201, 201, 0.36);
|
|
|
+ padding: 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ .exl_title {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+
|
|
|
+ span {
|
|
|
+ color: #1C84C6;
|
|
|
+ font-size: 18px;
|
|
|
+ line-height: 36px;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|