Ver Fonte

稽核工作分析报表:稽核数据列表添加导出功能,稽核图表修改,稽核完成情况图连接欸数据库,修改图表展示默认最近一周

fans há 4 anos atrás
pai
commit
a076715945

+ 1 - 0
src/mixins/JeecgListMixin.js

@@ -161,6 +161,7 @@ export const JeecgListMixin = {
     },
     searchReset() {
       this.queryParam = {}
+
       this.loadData(1);
     },
     batchDel: function () {

+ 14 - 8
src/views/smscheck/CheckWorkReport.vue

@@ -9,15 +9,17 @@
         <div>
           <div style="width: 100%;text-align: right;margin-top: 20px">
             请选择稽核状态:
-            <a-radio-group v-model="indexStyle">
-              <a-radio :value="1">待审核</a-radio>
-              <a-radio :value="2">未通过</a-radio>
-              <a-radio :value="3">通过</a-radio>
+            <a-radio-group v-model="indexStyle" >
+              <a-radio :value="0" >待审核</a-radio>
+              <a-radio :value="1">未通过</a-radio>
+              <a-radio :value="2">通过</a-radio>
             </a-radio-group>
           </div>
-          <sms-check-work-chart-not-approved v-if="indexStyle==1"></sms-check-work-chart-not-approved>
-          <sms-check-work-chart-fail v-if="indexStyle==2"></sms-check-work-chart-fail>
-          <sms-check-work-chart-adopt v-if="indexStyle==3"></sms-check-work-chart-adopt>
+          <sms-check-work-chart-not-approved v-if="indexStyle==0"></sms-check-work-chart-not-approved>
+
+          <sms-check-work-chart-fail v-if="indexStyle==1"></sms-check-work-chart-fail>
+
+          <sms-check-work-chart-adopt v-if="indexStyle==2"></sms-check-work-chart-adopt>
         </div>
       </div>
     </div>
@@ -35,6 +37,7 @@
  import SmsCheckWorkChartFail from './modules/SmsCheckWorkChartFail'
  import SmsCheckWorkChartAdopt from './modules/SmsCheckWorkChartAdopt'
  import SmsCheckWorkLogChartScale from './modules/SmsCheckWorkLogChartScale'
+ 
  export default {
    name: 'CheckWorkReport',
    components: {
@@ -46,8 +49,11 @@
    },
    data() {
      return {
-       indexStyle:3
+       indexStyle:2
      }
    },
+   methods:{
+
+   }
  }
 </script>

+ 4 - 4
src/views/smscheck/SmsCheckWorkLogList.vue

@@ -35,9 +35,9 @@
 
     <!-- 操作按钮区域 -->
     <div class="table-operator">
-
+      <a-button type="primary" icon="download" @click="handleExportXls('稽核工作日志')">导出</a-button>
 <!--      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-<a-button type="primary" icon="download" @click="handleExportXls('稽核工作日志')">导出</a-button>
+
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
         <a-button type="primary" icon="import">导入</a-button>
       </a-upload>-->
@@ -78,7 +78,7 @@
         <template slot="imgSlot" slot-scope="text,record">
           <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
           <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
-        </template>
+        </template>-->
         <template slot="fileSlot" slot-scope="text">
           <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
           <a-button
@@ -90,7 +90,7 @@
             @click="downloadFile(text)">
             下载
           </a-button>
-        </template>-->
+        </template>
 
         <span slot="action" slot-scope="text, record">
           <a @click="handleDetail(record)">详情</a>

+ 43 - 25
src/views/smscheck/modules/SmsCheckWorkChartAdopt.vue

@@ -1,19 +1,26 @@
 <template>
   <div >
-    <h2 style="text-align: center" v-if="dateTime">{{dateTime}}稽核走势</h2>
-    <h2 style="text-align: center" v-if="!dateTime">暂无相关信息</h2>
-    <v-chart :force-fit="true" :height="height" :data="data" :scale="scale" >
-      <v-tooltip />
-      <v-axis />
-      <v-legend />
-      <v-line position="createTime*num" color="check" />
-      <v-point position="createTime*num" color="check" :size="4" :v-style="style" :shape="'circle'" />
-    </v-chart>
+    <h2 style="text-align: center" v-if="dataSource">{{dateTime}}稽核走势图</h2>
+    <div style="text-align: center;padding: 16px 16px;background-color: white" v-if="!dataSource.length">
+      <div class="ant-empty-image"><svg width="64" height="41" viewBox="0 0 64 41" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 1)" fill="none" fillRule="evenodd"><ellipse fill="#F5F5F5" cx="32" cy="33" rx="32" ry="7"></ellipse><g fillRule="nonzero" stroke="#D9D9D9"><path d="M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"></path><path d="M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z" fill="#FAFAFA"></path></g></g></svg></div>
+      <div>暂无数据</div>
+    </div>
+    <div>
+      <v-chart :force-fit="true" :height="height" :data="data" :scale="scale" >
+        <v-tooltip />
+        <v-axis />
+        <v-legend />
+        <v-line position="createTime*num" color="check" />
+        <v-point position="createTime*num" color="check" :size="4" :v-style="style" :shape="'circle'" />
+      </v-chart>
+    </div>
+
   </div>
 </template>
 
 <script>
 import { httpAction, getAction } from '@api/manage'
+import dateFormat from "@comp/jeecg/JEasyCron/format-date";
 let DataSet = require('@antv/data-set');
 
 /*const sourceData = [
@@ -60,31 +67,42 @@ export default {
       height: 400,
       style: { stroke: '#fff', lineWidth: 1 },
       dataSource:[],
-      dateTime:"",
+      dateTime:'',
     };
   },
   created() {
     this.sourceData();
   },
   methods: {
-    sourceData(){
-      var check=2
-      this.queryParam.basicCheckState=check
-      this.queryParam.standardCheckState=check
-      this.queryParam.dataCheckState=check
+
+    defaultTme(){
+      var now_date = new Date();
+      var end_time = dateFormat(now_date,'yyyy-MM-dd hh:mm:ss');
+      var before_date = new Date(now_date.getTime()-1000*60*60*24*7)
+      var start_time = dateFormat(before_date,'yyyy-MM-dd')+' 00:00:00';
+      this.queryParam.endTime=end_time;
+      this.queryParam.startTime=start_time;
+    },
+    sourceData(startTime,endTime,checkState){
+     if (startTime&&endTime){
+       this.queryParam.endTime=endTime;
+       this.queryParam.startTime=startTime;
+     }else{
+       this.defaultTme()
+     }
+      this.dateTime=dateFormat(this.queryParam.startTime,'yyyy年MM月dd日')+' ~ '+dateFormat(this.queryParam.endTime,'MM-dd')
+      var checkState=2
+      this.queryParam.basicCheckState=checkState;
+      this.queryParam.standardCheckState=checkState;
+      this.queryParam.dataCheckState=checkState;
       getAction("/smsCheck/workLog/check/state",this.queryParam).then(resp=>{
         if (resp.success){
-          var data =  resp.result
-          
-        for (let i = 0; i <data.length; i++) {
-          var year = data[i].createTime.substring(0,4);
-          var month = data[i].createTime.substring(5,7);
-          var day = data[i].createTime.substring(8,10);
-          this.dateTime=year+"年"+month+"月";
-          data[i].createTime=month+"月"+day+"日";
+          this.dataSource =  resp.result
+        for (let i = 0; i <this.dataSource.length; i++) {
+          this.dataSource[i].createTime=dateFormat(this.dataSource[i].createTime,'MM月dd日')
           }
-
-          this.dv = new DataSet.View().source(data);
+          console.log(this.dataSource)
+          this.dv = new DataSet.View().source(this.dataSource);
           this.dv.transform({
             type: 'fold',
             fields: [ 'basicCheckState', 'standardCheckState','dataCheckState'],

+ 41 - 23
src/views/smscheck/modules/SmsCheckWorkChartFail.vue

@@ -1,19 +1,26 @@
 <template>
   <div >
-    <h2 style="text-align: center" v-if="dateTime">{{dateTime}}稽核走势</h2>
-    <h2 style="text-align: center" v-if="!dateTime">暂无相关信息</h2>
-    <v-chart :force-fit="true" :height="height" :data="data" :scale="scale" >
-      <v-tooltip />
-      <v-axis />
-      <v-legend />
-      <v-line position="createTime*num" color="check" />
-      <v-point position="createTime*num" color="check" :size="4" :v-style="style" :shape="'circle'" />
-    </v-chart>
+    <h2 style="text-align: center" v-if="dataSource">{{dateTime}}稽核走势图</h2>
+    <div style="text-align: center;padding: 16px 16px;background-color: white" v-if="!dataSource.length">
+      <div class="ant-empty-image"><svg width="64" height="41" viewBox="0 0 64 41" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 1)" fill="none" fillRule="evenodd"><ellipse fill="#F5F5F5" cx="32" cy="33" rx="32" ry="7"></ellipse><g fillRule="nonzero" stroke="#D9D9D9"><path d="M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"></path><path d="M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z" fill="#FAFAFA"></path></g></g></svg></div>
+      <div>暂无数据</div>
+    </div>
+    <div>
+      <v-chart :force-fit="true" :height="height" :data="data" :scale="scale" >
+        <v-tooltip />
+        <v-axis />
+        <v-legend />
+        <v-line position="createTime*num" color="check" />
+        <v-point position="createTime*num" color="check" :size="4" :v-style="style" :shape="'circle'" />
+      </v-chart>
+    </div>
+
   </div>
 </template>
 
 <script>
 import { httpAction, getAction } from '@api/manage'
+import dateFormat from "@comp/jeecg/JEasyCron/format-date";
 let DataSet = require('@antv/data-set');
 
 /*const sourceData = [
@@ -67,24 +74,35 @@ export default {
     this.sourceData();
   },
   methods: {
-    sourceData(){
-      var check=1
-      this.queryParam.basicCheckState=check
-      this.queryParam.standardCheckState=check
-      this.queryParam.dataCheckState=check
+    defaultTme(){
+      var now_date = new Date();
+      var end_time = dateFormat(now_date,'yyyy-MM-dd hh:mm:ss');
+      var before_date = new Date(now_date.getTime()-1000*60*60*24*7)
+      var start_time = dateFormat(before_date,'yyyy-MM-dd')+' 00:00:00';
+      this.queryParam.endTime=end_time;
+      this.queryParam.startTime=start_time;
+    },
+    sourceData(startTime,endTime){
+      if (startTime&&endTime){
+        this.queryParam.endTime=endTime;
+        this.queryParam.startTime=startTime;
+      }else{
+        this.defaultTme()
+      }
+      this.dateTime=dateFormat(this.queryParam.startTime,'yyyy年MM月dd日')+' ~ '+dateFormat(this.queryParam.endTime,'yyyy年MM月dd日')
+
+      var checkState=1;
+      this.queryParam.basicCheckState=checkState;
+      this.queryParam.standardCheckState=checkState;
+      this.queryParam.dataCheckState=checkState;
       getAction("/smsCheck/workLog/check/state",this.queryParam).then(resp=>{
         if (resp.success){
-          var data =  resp.result
-
-          for (let i = 0; i <data.length; i++) {
-            var year = data[i].createTime.substring(0,4);
-            var month = data[i].createTime.substring(5,7);
-            var day = data[i].createTime.substring(8,10);
-            this.dateTime=year+"年"+month+"月";
-            data[i].createTime=month+"月"+day+"日";
+          this.dataSource =  resp.result
+          for (let i = 0; i <this.dataSource.length; i++) {
+            this.dataSource[i].createTime=dateFormat(this.dataSource[i].createTime,'MM月dd日')
           }
 
-          this.dv = new DataSet.View().source(data);
+          this.dv = new DataSet.View().source(this.dataSource);
           this.dv.transform({
             type: 'fold',
             fields: [ 'basicCheckState', 'standardCheckState','dataCheckState'],

+ 42 - 23
src/views/smscheck/modules/SmsCheckWorkChartNotApproved.vue

@@ -1,19 +1,26 @@
 <template>
   <div >
-    <h2 style="text-align: center" v-if="dateTime">{{dateTime}}稽核走势</h2>
-    <h2 style="text-align: center" v-if="!dateTime">暂无相关信息</h2>
-    <v-chart :force-fit="true" :height="height" :data="data" :scale="scale" >
-      <v-tooltip />
-      <v-axis />
-      <v-legend />
-      <v-line position="createTime*num" color="check" />
-      <v-point position="createTime*num" color="check" :size="4" :v-style="style" :shape="'circle'" />
-    </v-chart>
+    <h2 style="text-align: center">{{dateTime}}稽核走势图</h2>
+    <div style="text-align: center;padding: 16px 16px;background-color: white" v-if="!dataSource.length">
+      <div class="ant-empty-image"><svg width="64" height="41" viewBox="0 0 64 41" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 1)" fill="none" fillRule="evenodd"><ellipse fill="#F5F5F5" cx="32" cy="33" rx="32" ry="7"></ellipse><g fillRule="nonzero" stroke="#D9D9D9"><path d="M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"></path><path d="M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z" fill="#FAFAFA"></path></g></g></svg></div>
+      <div>暂无数据</div>
+    </div>
+    <div >
+      <v-chart :force-fit="true" :height="height" :data="data" :scale="scale" >
+        <v-tooltip />
+        <v-axis />
+        <v-legend />
+        <v-line position="createTime*num" color="check" />
+        <v-point position="createTime*num" color="check" :size="4" :v-style="style" :shape="'circle'" />
+      </v-chart>
+    </div>
+
   </div>
 </template>
 
 <script>
 import { httpAction, getAction } from '@api/manage'
+import dateFormat from "@comp/jeecg/JEasyCron/format-date";
 let DataSet = require('@antv/data-set');
 
 /*const sourceData = [
@@ -67,24 +74,36 @@ export default {
     this.sourceData();
   },
   methods: {
-    sourceData(){
-      var check=0
-      this.queryParam.basicCheckState=check
-      this.queryParam.standardCheckState=check
-      this.queryParam.dataCheckState=check
+    defaultTme(){
+      var now_date = new Date();
+      var end_time = dateFormat(now_date,'yyyy-MM-dd hh:mm:ss');
+      var before_date = new Date(now_date.getTime()-1000*60*60*24*7)
+      var start_time = dateFormat(before_date,'yyyy-MM-dd')+' 00:00:00';
+      this.queryParam.endTime=end_time;
+      this.queryParam.startTime=start_time;
+    },
+    sourceData(startTime,endTime){
+      if (startTime&&endTime){
+        this.queryParam.endTime=endTime;
+        this.queryParam.startTime=startTime;
+      }else{
+        this.defaultTme()
+      }
+      this.dateTime=dateFormat(this.queryParam.startTime,'yyyy年MM月dd日')+' ~ '+dateFormat(this.queryParam.endTime,'yyyy年MM月dd日')
+
+      var checkState=0;
+      this.queryParam.basicCheckState=checkState;
+      this.queryParam.standardCheckState=checkState;
+      this.queryParam.dataCheckState=checkState;
       getAction("/smsCheck/workLog/check/state",this.queryParam).then(resp=>{
+        console.log(resp)
         if (resp.success){
-          var data =  resp.result
-
-          for (let i = 0; i <data.length; i++) {
-            var year = data[i].createTime.substring(0,4);
-            var month = data[i].createTime.substring(5,7);
-            var day = data[i].createTime.substring(8,10);
-            this.dateTime=year+"年"+month+"月";
-            data[i].createTime=month+"月"+day+"日";
+          this.dataSource =  resp.result
+          for (let i = 0; i <this.dataSource.length; i++) {
+            this.dataSource[i].createTime=dateFormat(this.dataSource[i].createTime,'MM月dd日')
           }
 
-          this.dv = new DataSet.View().source(data);
+          this.dv = new DataSet.View().source(this.dataSource);
           this.dv.transform({
             type: 'fold',
             fields: [ 'basicCheckState', 'standardCheckState','dataCheckState'],

+ 18 - 10
src/views/smscheck/modules/SmsCheckWorkLogChartScale.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-  <div><h2 style="text-align: center">稽核完成结果</h2></div>
+  <div><h2 style="text-align: center">稽核完成情况图</h2></div>
   <div v-if="data.length">
     <v-chart
       :forceFit="true"
@@ -22,15 +22,18 @@
 </template>
 
 <script>
+import dateFormat from "@comp/jeecg/JEasyCron/format-date";
+import {getAction} from "@api/manage";
+
 const data = [{
-  type: '基本信息稽核',
-  value: 56.4
+  type: '基本信息稽核通过率',
+  value: 37.5
 }, {
-  type: '规范信息稽核',
-  value: 43.6
+  type: '规范信息稽核通过率',
+  value: 50
 },{
-  type: '附加材料稽核',
-  value: 63.6
+  type: '附加材料稽核通过率',
+  value: 75
 }];
 
 const eachView = function (view, facet) {
@@ -40,7 +43,7 @@ const eachView = function (view, facet) {
     color = '#0a9afe';
 
   data.push({
-    type: '未通过率',
+    type: '其他',
     value: 100 - data[0].value
   });
   view.source(data);
@@ -48,13 +51,16 @@ const eachView = function (view, facet) {
     radius: 0.8,
     innerRadius: 0.5
   });
-  view.intervalStack().position('value').color('type', [color, '#e01437']).opacity(1);
+  view.intervalStack().position('value').color('type', [color, '#e01437']);
   view.guide().html({
     position: ['50%', '50%'],
-    html: '<div class="g2-guide-html"><p class="title">' + data[0].type + '</p><p class="value">' + (data[0].value + '%') + '</p></div>'
+    html: '<div class="g2-guide-html"><p class="title">' + data[0].type + '</p></div>'
   });
 }
 export default {
+  created() {
+    this.dataSource()
+  },
   mounted(){
     this.setStyle();
   },
@@ -93,6 +99,8 @@ export default {
   },
   data() {
     return {
+      sourceData:[],
+      queryParam:{},
       data: data,
       eachView
     }