zhiyuan007 1 year ago
parent
commit
f7bb584728

+ 21 - 0
src/data/all-form.js

@@ -3249,6 +3249,27 @@ export const matterImputationStaticsSituation = {
 }
 
 
+export const dataPushSituationMonthlySituation = {
+    formItemsArr:[
+        {
+            type:'date-picker',
+            modelValue:'YEAR',
+            label:'选择年份',
+            colClass:'el-col-6 mr12',
+            options:[],
+            elDatePickerAttrs:{
+                'value-format':'YYYY',
+                format:"YYYY",
+                type:"year"
+            }
+        },
+        {
+            type:'slot',
+            slotName:'searchBtn'
+        },
+    ]
+}
+
 export const creditRepairHome = {
     formItemsArr:[
         {

+ 16 - 0
src/data/all-table-header.js

@@ -866,6 +866,22 @@ export const matterImputationStaticsSituationHeaderJG = [
     },
 ]
 
+export const departmentDataImputationSituationHeader = [
+    {
+        prop:"XXLY",
+        label:"信息来源"
+    },
+    {
+        prop:"FR",
+        label:"法人"
+    },
+    {
+        prop:"ZRR",
+        label:"自然人"
+    },
+]
+
+
 export const creditRepairEditHeader = [
     {
         prop:"ZTMC",

+ 98 - 0
src/echarts/option.js

@@ -323,3 +323,101 @@ export function setLabelStaBottomEcharts(ele,map) {
     setOptions(ele,option)
 }
 
+export function departmentDataImputationEcharts(ele,dataTitle,dataLeft_binN,dataRight_binN) {
+    debugger
+    let  option = {
+        tooltip: {
+            trigger: 'axis',
+            axisPointer: {
+                type: 'shadow'
+            }
+        },
+        legend: {
+            top: '5%',
+            bottom: '5%',
+            x: 'right',
+            data: ['法人', '自然人']
+        },
+        grid: {
+            left: '0px',
+            right: '4%',
+            bottom: '4%',
+            containLabel: true,
+            top: '15%'
+        },
+
+        xAxis: {
+             type: 'log',
+             min: 1,
+            axisLabel: {
+                formatter: '{value}'
+            }
+
+        },
+        yAxis: {
+            axisLabel: {
+                interval: 0
+            },
+            data: dataTitle
+
+        },
+        series: [{
+            name: '法人',
+            type: 'bar',
+            data: dataLeft_binN,
+            label: {
+                title: {
+                    text: '案例数量查询统计',
+                },
+            },
+        },
+            {
+                name: '自然人',
+                type: 'bar',
+                data: dataRight_binN,
+                label: {
+                    title: {
+                        text: '案例数量查询统计',
+                    },
+                },
+            }]
+    };
+    setOptions(ele,option)
+}
+
+
+export function dataPushSituationMonthlyEcharts(ele,tempTest) {
+    debugger
+    let  option = {
+        tooltip: {
+            trigger: 'axis'
+        },
+        legend: [
+            {
+                data: ['直接访问']
+            },
+            {
+                top: '30',
+                data: ['市信用信息中心'],
+            }
+        ],
+        toolbox: {
+
+        },
+        calculable: true,
+        xAxis: [
+            {
+                type: 'category',
+                data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
+            }
+        ],
+        yAxis: [
+            {
+                type: 'value'
+            }
+        ],
+        series: tempTest
+    };
+    setOptions(ele,option)
+}
+

+ 21 - 0
src/service/credit-data/data-imputation-push/data-imputation-push.js

@@ -41,3 +41,24 @@ export function proSelectXyxxXxsxDetail(params){
     })
 }
 
+//数据归集推送 部门数据归集情况查询
+export function proSelectXyxxSjtjNew(params){
+    return requestInstance({
+        url:'/XyxxApi/proSelectXyxxSjtjNew',
+        data:{
+            ...params
+        }
+    })
+}
+
+//数据归集推送 数据推送情况(月)
+export function proSelectXyxxSjtjSxy(params){
+    return requestInstance({
+        url:'/XyxxApi/proSelectXyxxSjtjSxy',
+        data:{
+            ...params
+        }
+    })
+}
+
+

+ 3 - 3
src/views/main/c-views/credit-data/data-imputation-push/DataImputationPush.vue

@@ -1,13 +1,13 @@
 <template>
   <el-tabs type="border-card" class="demo-tabs" v-model="activeName"  @tab-click="handleClick" >
     <el-tab-pane label="事项归集统计情况" name="first">
-      <matter-imputation-statics-situation/>
+      <matter-imputation-statics-situation v-if="activeName=='first'" />
     </el-tab-pane>
     <el-tab-pane label="部门数据归集情况" name="second">
-      <department-data-imputation-situation/>
+      <department-data-imputation-situation v-if="activeName=='second'" />
     </el-tab-pane>
     <el-tab-pane label="数据推送情况(月)" name="third">
-      <data-push-situation-monthly/>
+      <data-push-situation-monthly v-if="activeName=='third'"  />
     </el-tab-pane>
   </el-tabs>
 </template>

+ 98 - 3
src/views/main/c-views/credit-data/data-imputation-push/DataPushSituationMonthly.vue

@@ -1,13 +1,108 @@
 <template>
+  <div class="department-data">
+    <diy-el-form ref="formRef"  v-bind="{'span-attrs':{span:4}}"   v-model:model-form="forms" :forms="formConfig">
+      <template #searchBtn>
+        <el-button  type="primary" :icon="Search" @click="getChartData()">查询</el-button>
+      </template>
+    </diy-el-form>
+    <div class="department-content">
+      <div class="echarts" ref="monthEcharts">
 
+      </div>
+    </div>
+  </div>
 </template>
 
 <script>
+import DiyElForm from "@/components/common/DiyElForm.vue";
+import {Close, Delete, Document, Search, SuccessFilled} from "@element-plus/icons-vue";
+import {nextTick, onMounted, ref} from "vue";
+import {dataPushSituationMonthlySituation} from "@/data/all-form";
+import {
+  proSelectXyxxSjtjSxy
+} from "@/service/credit-data/data-imputation-push/data-imputation-push";
+import {dataPushSituationMonthlyEcharts} from "@/echarts/option";
+import {getFullYear} from "@/units/use-method/veritification-tools";
+
 export default {
-  name: "DataPushSituationMonthly"
+  name: "DataPushSituationMonthly",
+  components:{DiyElForm},
+  computed: {
+    Delete() {
+      return Delete
+    },
+    Search() {
+      return Search
+    },
+    Document() {
+      return Document
+    },
+    SuccessFilled() {
+      return SuccessFilled
+    },
+    Close() {
+      return Close
+    }
+  },
+  setup(){
+    const forms = ref({});
+    const formRef = ref(null);
+    const formConfig = ref({...dataPushSituationMonthlySituation});
+    const monthEcharts = ref(null);
+    function getChartData(){
+      debugger
+      proSelectXyxxSjtjSxy({
+        YEARS:forms.value.YEAR,
+        pageSize:10000,
+        pageIndex:1
+      }).then(res =>{
+        debugger
+        getEcharts(res);
+      })
+    }
+    function getEcharts(data){
+      let date = data.msg[0]
+      let  tempTest = [
+        {
+          name: '市信用信息中心',
+          type: 'bar',
+          data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+
+        }
+      ]
+      if(date.Rows != null && date.Rows != "null"){
+        for (let j = 0; j < date.Rows.length; j++) {
+          var p = date.Rows[j].MONTHS * 1;
+          tempTest[0].data[p-1] = date.Rows[j].ALLCOUNT;
+
+        }
+
+      }
+      nextTick(() => {
+        debugger
+        dataPushSituationMonthlyEcharts(monthEcharts.value,tempTest);
+      })
+    }
+    onMounted(()=>{
+      forms.value.YEAR = getFullYear("year");
+      getChartData()
+    })
+    return {
+      forms,
+      formRef,
+      formConfig,
+      getChartData,
+      monthEcharts
+    }
+  }
 }
 </script>
 
-<style scoped>
-
+<style scoped lang="scss">
+.department-content{
+  height: 600px;
+  .echarts{
+    height: 580px;
+  }
+}
 </style>

+ 198 - 3
src/views/main/c-views/credit-data/data-imputation-push/DepartmentDataImputationSituation.vue

@@ -1,13 +1,208 @@
 <template>
+  <div class="department-data">
+    <diy-el-form ref="formRef"  v-bind="{'span-attrs':{span:4}}"   v-model:model-form="forms" :forms="formConfig">
+      <template #searchBtn>
+        <el-button  type="primary" :icon="Search" @click="getTableData()">查询</el-button>
+      </template>
+    </diy-el-form>
+    <div class="department-content">
+      <div class="left-echarts" ref="leftEcharts">
 
+      </div>
+      <div class="right-table">
+        <my-table border
+                  :has-operation="false"
+                  :table-data="tableData"
+                  :headers="departmentDataImputationSituationHeader">
+        </my-table>
+      </div>
+    </div>
+  </div>
 </template>
 
 <script>
+import {proSelectXyxxSjtjNew} from "@/service/credit-data/data-imputation-push/data-imputation-push";
+import {nextTick, onBeforeMount, onMounted, ref} from "vue";
+import {matterImputationStaticsSituation} from "@/data/all-form";
+import {Close, Delete, Document, Search, SuccessFilled} from "@element-plus/icons-vue";
+import DiyElForm from "@/components/common/DiyElForm.vue";
+import MyTable from "@/components/common/MyTable.vue";
+import {departmentDataImputationSituationHeader} from "@/data/all-table-header";
+import {departmentDataImputationEcharts} from "@/echarts/option";
+import {getFullYear} from "@/units/use-method/veritification-tools";
 export default {
-  name: "DepartmentDataImputationSituation"
+  name: "DepartmentDataImputationSituation",
+  components:{MyTable, DiyElForm},
+  computed: {
+    Delete() {
+      return Delete
+    },
+    Search() {
+      return Search
+    },
+    Document() {
+      return Document
+    },
+    SuccessFilled() {
+      return SuccessFilled
+    },
+    Close() {
+      return Close
+    }
+  },
+  setup(){
+    const forms = ref({});
+    const formRef = ref(null);
+    const formConfig = ref({...matterImputationStaticsSituation});
+    const tableData = ref([]);
+    const leftEcharts = ref(null);
+    function getTableData(){
+      proSelectXyxxSjtjNew({
+        startM:forms.value.START_DATE,
+        //startC:"2019-01-01",
+        endM:forms.value.END_DATE,
+        pageSize:10000,
+        pageIndex:1
+      }).then(res =>{
+        getEchartsAndTable(res);
+      })
+    }
+    function getEchartsAndTable(data){
+      tableData.value = [];
+      let date = data.msg[0]
+      //数据标题
+      let dataTitle = ['市房管局', '市城管执法局', '市公积金管理中心', '市燃气处', '综管中心', '委行政服务中心'];
+      let dataTitleT = ['委行政服务中心', '综管中心', '市燃气处', '市公积金管理中心', '市城管执法局', '市房管局'];
+      let nowData = [
+        { COUNTNUMBER: "0", XXSX: "市房管局", XDR: "法人" },
+        { COUNTNUMBER: "0", XXSX: "市城管执法局", XDR: "法人" },
+        { COUNTNUMBER: "0", XXSX: "市公积金管理中心", XDR: "法人" },
+        { COUNTNUMBER: "0", XXSX: "市燃气处", XDR: "法人" },
+        { COUNTNUMBER: "0", XXSX: "综管中心", XDR: "法人" },
+        { COUNTNUMBER: "0", XXSX: "委行政服务中心", XDR: "法人" },
+        { COUNTNUMBER: "0", XXSX: "市房管局", XDR: "自然人" },
+        { COUNTNUMBER: "0", XXSX: "市城管执法局", XDR: "自然人" },
+        { COUNTNUMBER: "0", XXSX: "市公积金管理中心", XDR: "自然人" },
+        { COUNTNUMBER: "0", XXSX: "市燃气处", XDR: "自然人" },
+        { COUNTNUMBER: "0", XXSX: "综管中心", XDR: "自然人" },
+        { COUNTNUMBER: "0", XXSX: "委行政服务中心", XDR: "自然人" },
+      ]
+      //数据内容
+      let dataLeft_bin = [];
+      let dataRight_bin = [];
+      let dataLeft_binN = [];
+      let dataRight_binN = [];
+
+      let dataLeft_binT = [];
+      let dataRight_binT = [];
+      let totalLeft = 0;
+      let totalRight = 0;
+      if(date.Rows != null && date.Rows != "null"){
+        for (let i = 0; i < date.Rows.length; i++) {
+          for (let j = 0; j < nowData.length; j++) {
+            if (date.Rows[i].XXSX == nowData[j].XXSX && date.Rows[i].XDR == nowData[j].XDR)
+              nowData[j].COUNTNUMBER = date.Rows[i].COUNTNUMBER;
+          }
+        }
+        for (let p = 0; p < nowData.length; p++) {
+          if (nowData[p].XDR == "法人") {
+            dataLeft_bin.push(nowData[p])
+          }
+          if (nowData[p].XDR == "自然人") {
+            dataRight_bin.push(nowData[p])
+          }
+        }
+        for (let i = 0; i < dataTitle.length; i++) {
+          for (let j=0; j < dataLeft_bin.length;j++){
+            if (dataTitle[i] == dataLeft_bin[j].XXSX) {
+              dataLeft_binN.push(dataLeft_bin[j].COUNTNUMBER * 1);
+              totalLeft += dataLeft_bin[j].COUNTNUMBER * 1;
+
+            }
+          }
+        }
+        for (let i = 0; i < dataTitle.length; i++) {
+          for (let j = 0; j < dataRight_bin.length; j++) {
+            if (dataTitle[i] == dataRight_bin[j].XXSX) {
+              dataRight_binN.push(dataRight_bin[j].COUNTNUMBER * 1);
+              totalRight += dataRight_bin[j].COUNTNUMBER * 1;
+            }
+          }
+        }
+
+        for (let i = 0; i < dataTitleT.length; i++) {
+          for (let j = 0; j < dataLeft_bin.length; j++) {
+            if (dataTitleT[i] == dataLeft_bin[j].XXSX) {
+              dataLeft_binT.push(dataLeft_bin[j].COUNTNUMBER * 1);
+            }
+          }
+        }
+        for (let i = 0; i < dataTitleT.length; i++) {
+          for (let j = 0; j < dataRight_bin.length; j++) {
+            if (dataTitleT[i] == dataRight_bin[j].XXSX) {
+              dataRight_binT.push(dataRight_bin[j].COUNTNUMBER * 1);
+            }
+          }
+        }
+        for (let i = 0; i < dataTitleT.length; i++) {
+          let obj ={
+            XXLY:dataTitleT[i],
+            FR:dataLeft_binT[i].toLocaleString(),
+            ZRR:dataRight_binT[i].toLocaleString()
+          }
+          tableData.value.push(obj)
+        }
+        tableData.value.push({
+          XXLY:"总计",
+          FR:totalLeft.toLocaleString(),
+          ZZR:totalRight.toLocaleString()
+        })
+      }else{
+        dataTitle = ['市房管局', '市城管执法局', '市公积金管理中心', '市燃气处', '综管中心', '委行政服务中心'];
+        dataLeft_binN = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1];
+        dataRight_binN = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1];
+      }
+      debugger
+      nextTick(() => {
+        debugger
+        departmentDataImputationEcharts(leftEcharts.value,dataTitle,dataLeft_binN,dataRight_binN);
+      })
+    }
+    onMounted(()=>{
+      forms.value.START_DATE = getFullYear("year") + "-01-01";
+      forms.value.END_DATE = getFullYear("day");
+      getTableData()
+    })
+    return {
+      forms,
+      formRef,
+      formConfig,
+      getTableData,
+      tableData,
+      departmentDataImputationSituationHeader,
+      leftEcharts
+    }
+  }
 }
 </script>
 
-<style scoped>
-
+<style scoped lang="scss">
+.department-data{
+  padding: 20px;
+}
+.department-content{
+  display: flex;
+  justify-content: space-between;
+}
+.left-echarts{
+  height: 600px;
+  width: 55%;
+  padding-right: 50px;
+  margin-right: 50px;
+  border-right: 1px #DCDCDC solid;
+}
+.right-table{
+  height: 100%;
+  width: 40%;
+}
 </style>