cfort 3 жил өмнө
parent
commit
09ef64f55a
60 өөрчлөгдсөн 1178 нэмэгдсэн , 1071 устгасан
  1. 1 0
      src/business/platform/data/components/search-form/index.vue
  2. 12 1
      src/business/platform/data/templaterender/templates/list.vue
  3. 9 10
      src/business/platform/form/formrender/dynamic-form/dynamic-form-field.vue
  4. 122 121
      src/business/platform/form/utils/JForm.js
  5. 413 695
      src/views/peopleManages/taskStatistics/index.vue
  6. 1 1
      src/views/platform/office/bpmInitiatedProcess/myRequest.vue
  7. 93 0
      src/views/statistics/headerDecoration.vue
  8. BIN
      src/views/statistics/img/bg.png
  9. BIN
      src/views/statistics/img/stars.png
  10. 192 95
      src/views/statistics/index.vue
  11. 19 17
      src/views/statistics/indexold.vue
  12. 5 1
      src/views/statistics/item/s10waiBuNengLi.vue
  13. 19 16
      src/views/statistics/item/s10waiBuNengLiCol.vue
  14. 5 1
      src/views/statistics/item/s11biaoZhunWu.vue
  15. 5 1
      src/views/statistics/item/s11biaoZhunWuCol.vue
  16. 5 1
      src/views/statistics/item/s11biaoZhunWuCol2.vue
  17. 6 1
      src/views/statistics/item/s12fengXian.vue
  18. 5 1
      src/views/statistics/item/s12fengXianCol.vue
  19. 6 1
      src/views/statistics/item/s13shengWu.vue
  20. 5 1
      src/views/statistics/item/s13shengWuCol.vue
  21. 5 1
      src/views/statistics/item/s14bufuhexiang.vue
  22. 5 1
      src/views/statistics/item/s14bufuhexiangCol.vue
  23. 5 1
      src/views/statistics/item/s15tousu.vue
  24. 5 1
      src/views/statistics/item/s15tousuCol.vue
  25. 5 1
      src/views/statistics/item/s16bzJunZhu.vue
  26. 5 1
      src/views/statistics/item/s16bzJunZhuCol.vue
  27. 5 1
      src/views/statistics/item/s16bzJunZhuCol2.vue
  28. 5 1
      src/views/statistics/item/s17bzXiBao.vue
  29. 5 1
      src/views/statistics/item/s17bzXiBaoCol.vue
  30. 5 1
      src/views/statistics/item/s17bzXiBaoCol2.vue
  31. 6 1
      src/views/statistics/item/s1jianCe.vue
  32. 5 1
      src/views/statistics/item/s1jianCeColumnar.vue
  33. 5 1
      src/views/statistics/item/s1zhiLiangMuBiao.vue
  34. 5 1
      src/views/statistics/item/s1zhiLiangMuBiaoCol.vue
  35. 6 2
      src/views/statistics/item/s2manYiDu.vue
  36. 5 1
      src/views/statistics/item/s2manYiDuPro.vue
  37. 5 1
      src/views/statistics/item/s3tousu.vue
  38. 5 2
      src/views/statistics/item/s3tousuCol.vue
  39. 6 2
      src/views/statistics/item/s4renYuanPeiXun.vue
  40. 5 1
      src/views/statistics/item/s4renYuanPeiXunCol.vue
  41. 6 2
      src/views/statistics/item/s5renYuanJianDu.vue
  42. 5 1
      src/views/statistics/item/s5renYuanJianDuCol.vue
  43. 5 1
      src/views/statistics/item/s7sheBeiJiaoZhun.vue
  44. 5 1
      src/views/statistics/item/s7sheBeiJiaoZhunCol.vue
  45. 5 1
      src/views/statistics/item/s7sheBeiJiaoZhunCol2.vue
  46. 5 1
      src/views/statistics/item/s8sheBeiHeCha.vue
  47. 5 1
      src/views/statistics/item/s8sheBeiHeChaCol.vue
  48. 5 1
      src/views/statistics/item/s8sheBeiHeChaCol2.vue
  49. 5 1
      src/views/statistics/item/s9neiBuZhiLiang.vue
  50. 5 1
      src/views/statistics/item/s9neiBuZhiLiangCol.vue
  51. 1 1
      src/views/statistics/js/selectDB.js
  52. 2 2
      src/views/statistics/properties/s12fengXianPro.vue
  53. 2 2
      src/views/statistics/sendDatas.js
  54. 1 1
      src/views/system/jbdHome/board/component/CarouselTabl.vue
  55. 1 1
      src/views/system/jbdHome/board/component/equipmentBoardTopcard.vue
  56. 2 2
      src/views/system/jbdHome/board/component/getPieView.vue
  57. 16 27
      src/views/system/jbdHome/board/component/zhuzhuangtu.vue
  58. 4 28
      src/views/system/jbdHome/board/equipmentBoard.vue
  59. 29 7
      src/views/system/jbdHome/yangPinShuJu/EntrustNumber.vue
  60. 43 2
      src/views/system/jbdHome/yangPinShuJu/headerContent.vue

+ 1 - 0
src/business/platform/data/components/search-form/index.vue

@@ -122,6 +122,7 @@
         <el-date-picker
           v-else-if="item.fieldType === 'daterange' ||item.fieldType === 'datetimerange'"
           v-model="params[item.modelValue]"
+          unlink-panels
           :size="item.size ? item.size :  'mini'"
           :disabled="item.disabled"
           :readonly="item.readonly"

+ 12 - 1
src/business/platform/data/templaterender/templates/list.vue

@@ -273,7 +273,7 @@
     import Scan from '@/views/system/jbdScan/scan.vue'
 
     //import BpmnFormrender from '@/vuew/business/platform/bpmn/form/dialog'//新增流程打开页面
-
+    import IbpsExport from '@/plugins/export'
     import Vue from 'vue'
     Vue.component('ibps-data-template-render-dialog', () =>
         import('@/business/platform/data/templaterender/preview/dialog.vue')
@@ -916,6 +916,17 @@
                     this.getResponseData(buttonType, ids)
                 }
             },
+            //数据导出
+            getIbpsExport(columns, data, title, nameKey = 'name') {
+                IbpsExport.excel({
+                    columns: columns,
+                    data: data,
+                    nameKey: nameKey,
+                    title: title
+                }).then(() => {
+                    ActionUtils.success('导出成功')
+                })
+            },
             getResponseData(buttonType, ids, exportColumns) {
                 const { template, dataTemplate, fields, pagination, sorts } = this
                 const params = {}

+ 9 - 10
src/business/platform/form/formrender/dynamic-form/dynamic-form-field.vue

@@ -3,7 +3,10 @@
         <!-- 单行文本、 多行文本、数字-->
         <template v-if="fieldType === 'text' || fieldType === 'textarea' || fieldType === 'number'">
             <template v-if="readonlyText">
-                <div :class="isTable ? '' : dataModel ? 'ibps-field-text' : 'ibps-field-text-no'" class="jbd-wrap">{{ dataModel || '/' }}</div>
+                <div v-if="fieldType === 'number'" :class="isTable ? '' : dataModel ? 'ibps-field-text' : 'ibps-field-text-no'" >{{ dataModel || '/' }}</div>
+                <div v-else :class="isTable ? 'ibps-overflow' : dataModel ? 'ibps-field-text' : 'ibps-field-text-no'">
+                    {{ dataModel || '/' }}
+                </div>
             </template>
 
             <el-dropdown
@@ -12,7 +15,6 @@
                 size="mini"
                 placement="top-start"
                 trigger="click"
-                class="jbd-wrap"
                 @command="handleCommand"
             >
             <!-- <el-dropdown
@@ -36,7 +38,6 @@
                     :style="{ width: width }"
                     clearable
                     v-on="$listeners"
-                    class="jbd-wrap"
                 />
 
                 <!-- <el-button
@@ -73,7 +74,6 @@
                 :readonly="readonly"
                 clearable
                 v-on="$listeners"
-                class="jbd-wrap"
             />
         </template>
 
@@ -102,7 +102,7 @@
         <!-- 单项选择 -->
         <template v-else-if="fieldType === 'radio'">
             <template v-if="readonlyText">
-                <div v-if="$utils.isNotEmpty(dataModel)" :class="isTable ? '' : dataModel ? 'ibps-field-text' : 'ibps-field-text-no'" class="jbd-wrap">
+                <div v-if="$utils.isNotEmpty(dataModel)" :class="isTable ? '' : dataModel ? 'ibps-field-text' : 'ibps-field-text-no'">
                     {{ dataModel | optionsFilter(dataOptions, 'label', 'val') }}
                 </div>
                 <div v-else :class="isTable ? '' : 'ibps-field-text-no'">/</div>
@@ -132,7 +132,7 @@
         <template v-else-if="fieldType === 'checkbox'">
             <template v-if="readonlyText">
                 <template v-if="checkboxDataModel && checkboxDataModel.length > 0">
-                    <div :class="isTable ? '' : readonlyText ? 'ibps-field-text' : ''" class="jbd-wrap">
+                    <div :class="isTable ? '' : readonlyText ? 'ibps-field-text' : ''">
                         <span v-for="(v, i) in checkboxDataModel" :key="i" class="ibps-mr-5">
                             {{ v | optionsFilter(dataOptions, 'label', 'val') }}
                         </span>
@@ -1194,10 +1194,6 @@
     }
 </script>
 <style>
-/* zhang 换行 */
-    .jbd-wrap {
-        white-space:  break-spaces;;
-    }
     .el-form-item {
         margin-bottom: 6px !important;
     }
@@ -1212,6 +1208,9 @@
         width: 10px;
         padding-left: 0px;
     }
+    .ibps-overflow {
+        white-space: pre-line;
+    }
     .ibps-field-text {
         white-space: pre-line;
         color: #000000;

+ 122 - 121
src/business/platform/form/utils/JForm.js

@@ -18,13 +18,14 @@ import doManulSeal from './custom/doManulSeal.js' // 手动签章弹框
 import repostCurd from './custom/joinCURD.js' //增删改查规则
 import getDate from './custom/getDateRule.js' //获取年月日
 import {
-  snapshoot,
-  seal,
-  sealPre,
-  sealPage,
-  getSigPageUrl,
-  generateUUID,
-  getFileByte
+    snapshoot,
+    seal,
+    sealPre,
+    sealPage,
+    getSigPageUrl,
+    generateUUID,
+    getFileByte,
+    uploadFile
 } from '@/api/platform/file/attachment' //印章,快照
 const _import = require('@/utils/util.import.' + process.env.NODE_ENV)
 import pinyin4js from 'pinyin4js';
@@ -34,137 +35,137 @@ import { save } from '@/api/platform/message/innerMessage'
 
 import {
     goSeal
-  } from '@/api/platform/form/seal' // ca电子签章接口
+} from '@/api/platform/form/seal' // ca电子签章接口
 
 
 // 定义全局
 var JForm
 if (!window.JForm) {
-  JForm = window.JForm = {}
+    JForm = window.JForm = {}
 } else {
-  JForm = window.JForm
+    JForm = window.JForm
 }
 /**
  * 封装自定义代码扩展接口
  */
 _.extend(JForm, {
-  // 已经初始化
-  _isInitialization: false,
-  _isLoadJavaScriptFile: false,
-  // 初始化表单
-  _init: function (form) {
-    if (this._isInitialization) return
-    this.$form = form
-    this.$vue = Vue
-    this.$request = request
-    this.$dialog = dialog
-    this.$import = _import
-    this.$pyjs = pinyin4js
-    this.$getDate = getDate //获取封装好的年月日
-    this.$getNumBer = getserial //封装获取流水号
-    this.$getPint = pintText //封装打开报表
-    this.$curdPost = repostCurd //封装通用增删改查
-    this.$snapshoot = snapshoot //报表快照(经过润乾)
-    this.$seal = seal //对报表进行印章
-    this.$sealPre = sealPre // 对报表进行手动印章->预处理
-    this.$sealPage = sealPage // 对报表进行手动印章->预处理->签章页面
-    this.$getSigPageUrl = getSigPageUrl // 对报表进行手动印章->预处理->签章页面
-    this.$doManulSeal = doManulSeal // 手动签章弹框
-    this.$generateUUID = generateUUID // 自定义规则自动生成uuid
-    this.$router = router //添加router对象
-    this.$save = save   // 文件发放通知
-    this.$goSeal = goSeal  // ca电子签章接口
-    this.$getFileByte = getFileByte // 获取文件流
+    // 已经初始化
+    _isInitialization: false,
+    _isLoadJavaScriptFile: false,
+    // 初始化表单
+    _init: function (form) {
+        if (this._isInitialization) return
+        this.$form = form
+        this.$vue = Vue
+        this.$request = request
+        this.$dialog = dialog
+        this.$import = _import
+        this.$pyjs = pinyin4js
+        this.$getDate = getDate //获取封装好的年月日
+        this.$getNumBer = getserial //封装获取流水号
+        this.$getPint = pintText //封装打开报表
+        this.$curdPost = repostCurd //封装通用增删改查
+        this.$snapshoot = snapshoot //报表快照(经过润乾)
+        this.$seal = seal //对报表进行印章
+        this.$sealPre = sealPre // 对报表进行手动印章->预处理
+        this.$sealPage = sealPage // 对报表进行手动印章->预处理->签章页面
+        this.$getSigPageUrl = getSigPageUrl // 对报表进行手动印章->预处理->签章页面
+        this.$doManulSeal = doManulSeal // 手动签章弹框
+        this.$generateUUID = generateUUID // 自定义规则自动生成uuid
+        this.$router = router //添加router对象
+        this.$save = save   // 文件发放通知
+        this.$goSeal = goSeal  // ca电子签章接口
+        this.$getFileByte = getFileByte // 获取文件流
+        this.$uploadFile = uploadFile   // 文件上传接口
+        this._ = _
+        this.$store = store
+        this._isInitialization = true
+    },
 
-    this._ = _
-    this.$store = store
-    this._isInitialization = true
-  },
+    // 表单加载
+    _onLoad: function (form) {
+        this._init(form)
+        if (_.isFunction(this.onLoad)) {
+            this.onLoad(form)
+        }
+    },
 
-  // 表单加载
-  _onLoad: function (form) {
-    this._init(form)
-    if (_.isFunction(this.onLoad)) {
-      this.onLoad(form)
-    }
-  },
+    // 加载按钮
+    _onLoadActions: function (form, action, button, type) {
+        if (_.isFunction(this.onLoadActions)) {
+            return this.onLoadActions(form, action, button, type)
+        }
+    },
 
-  // 加载按钮
-  _onLoadActions: function (form, action, button, type) {
-    if (_.isFunction(this.onLoadActions)) {
-      return this.onLoadActions(form, action, button, type)
-    }
-  },
+    // 表单校验
+    _onValidate: function (form, callback) {
+        if (_.isFunction(this.onValidate)) {
+            return this.onValidate(form, callback)
+        }
+        if (_.isFunction(callback)) {
+            callback(true)
+        }
+    },
 
-  // 表单校验
-  _onValidate: function (form, callback) {
-    if (_.isFunction(this.onValidate)) {
-      return this.onValidate(form, callback)
-    }
-    if (_.isFunction(callback)) {
-      callback(true)
-    }
-  },
-
-  // 按钮提交前事件
-  _beforeSubmit: function (form, action, postValue, callback) {
-    if (_.isFunction(this.beforeSubmit)) {
-      try {
-        return this.beforeSubmit(form, action, postValue, callback)
-      } catch (e) {
-        return callback(true)
-      }
-    }
-    if (_.isFunction(callback)) {
-      callback(true)
-    }
-  },
+    // 按钮提交前事件
+    _beforeSubmit: function (form, action, postValue, callback) {
+        if (_.isFunction(this.beforeSubmit)) {
+            try {
+                return this.beforeSubmit(form, action, postValue, callback)
+            } catch (e) {
+                return callback(true)
+            }
+        }
+        if (_.isFunction(callback)) {
+            callback(true)
+        }
+    },
 
-  // 按钮提交后事件
-  _afterSubmit: function (form, action, postValue, callback) {
-    if (_.isFunction(this.afterSubmit)) {
-      return this.afterSubmit(form, action, postValue, callback)
-    }
-    if (_.isFunction(callback)) {
-      callback(true)
-    }
-  },
-  // 子表按钮的提交前事件
-  _beforeSubButton: function (tableForm, action, position, params, callback) {
-    if (_.isFunction(this.beforeSubButton)) {
-      return this.beforeSubButton(tableForm, action, position, params, callback)
-    }
-    if (_.isFunction(callback)) {
-      callback(true)
-    }
-  },
-  // 子表按钮的提交后事件
-  _afterSubButton: function (tableForm, action, position, params, callback) {
-    if (_.isFunction(this.afterSubButton)) {
-      return this.afterSubButton(tableForm, action, position, params, callback)
-    }
-    if (_.isFunction(callback)) {
-      callback(true)
-    }
-  },
-  // 子表统计
-  _summaryMethod: function (tableForm, tableName, params) {
-    if (_.isFunction(this.summaryMethod)) {
-      return this.summaryMethod(tableForm, tableName, params)
+    // 按钮提交后事件
+    _afterSubmit: function (form, action, postValue, callback) {
+        if (_.isFunction(this.afterSubmit)) {
+            return this.afterSubmit(form, action, postValue, callback)
+        }
+        if (_.isFunction(callback)) {
+            callback(true)
+        }
+    },
+    // 子表按钮的提交前事件
+    _beforeSubButton: function (tableForm, action, position, params, callback) {
+        if (_.isFunction(this.beforeSubButton)) {
+            return this.beforeSubButton(tableForm, action, position, params, callback)
+        }
+        if (_.isFunction(callback)) {
+            callback(true)
+        }
+    },
+    // 子表按钮的提交后事件
+    _afterSubButton: function (tableForm, action, position, params, callback) {
+        if (_.isFunction(this.afterSubButton)) {
+            return this.afterSubButton(tableForm, action, position, params, callback)
+        }
+        if (_.isFunction(callback)) {
+            callback(true)
+        }
+    },
+    // 子表统计
+    _summaryMethod: function (tableForm, tableName, params) {
+        if (_.isFunction(this.summaryMethod)) {
+            return this.summaryMethod(tableForm, tableName, params)
+        }
+    },
+    // 清理所有自定义事件
+    cleanEvents: function () {
+        this.onLoad = null
+        this.onLoadActions = null
+        this.onValidate = null
+        this.afterSubButton = null
+        this.beforeSubButton = null
+        this.summaryMethod = null
+        this.afterSubmit = null
+        this.beforeSubmit = null
+        this._isInitialization = false
     }
-  },
-  // 清理所有自定义事件
-  cleanEvents: function () {
-    this.onLoad = null
-    this.onLoadActions = null
-    this.onValidate = null
-    this.afterSubButton = null
-    this.beforeSubButton = null
-    this.summaryMethod = null
-    this.afterSubmit = null
-    this.beforeSubmit = null
-    this._isInitialization = false
-  }
 })
 
 export default JForm

+ 413 - 695
src/views/peopleManages/taskStatistics/index.vue

@@ -1,734 +1,452 @@
 <template>
-  <div class="personView">
-    <div class="topView" style="width: 100%;height: 11%;">
-      <!-- <div class="jbd-title"> 人员管理看板 </div> -->
-      <dv-decoration-7 class="jbd-title">人员管理看板</dv-decoration-7>
-      <div class="contain">
-        <div class="personNum">员工数量:{{ employeeNum }}</div>
-        <!-- <dv-border-box-9 >员工数量:8</dv-border-box-9> -->
-        <div class="date">
-          统计时间:
-          <el-date-picker v-model="monthValues" type="monthrange" align="right" unlink-panels range-separator="至" start-placeholder="开始月份" end-placeholder="结束月份" :picker-options="pickerOptions" @change="changeDate">
-          </el-date-picker>
+    <div>
+        <div class="jbd-title-cont"> 检测人员任务统计 </div>
+        <div class="contain">
+            <div class="date">
+                统计时间:
+                <el-date-picker v-model="monthValues" type="monthrange" align="right" unlink-panels range-separator="至"
+                    start-placeholder="开始月份" end-placeholder="结束月份" :picker-options="pickerOptions"
+                    @change="changeDate">
+                </el-date-picker>
+            </div>
+            <div class="chart">
+                <div id="echart-line" :style="{ width: '100%', height: '100%', paddingRight: '10px' }"></div>
+            </div>
+
         </div>
-      </div>
+
+        <el-dialog :visible.sync="dialogTableVisible">
+            <div class="dialogbox">
+                <div class="jbd-title-cont"> {{ setParams.seriesName }}-{{ setParams.name }} </div>
+                <div class="ibps">
+                    <ibps-crud key="istree" ref="crud" :data="formDataFiiter" :toolbars="listConfig.toolbars"
+                        :search-form="listConfig.searchForm" :pk-key="pkKey" :columns="listConfig.columns"
+                        :loading="loading" @action-event="handleAction" :pagination="pagination"
+                        @pagination-change="handlePaginationChange">
+                        <template slot="jianceyuan"  slot-scope="scope">
+                            <ibps-user-selector :value="scope.row.jian_ce_yuan_" type="user" :multiple="true"
+                                :disabled="true" readonly-text="text" @callback="data => formId = data.id" />
+                        </template>
+                        <template slot="fuheyuan"  slot-scope="scope">
+                            <ibps-user-selector :value="scope.row.fu_he_yuan_" type="user" :multiple="true"
+                                :disabled="true" readonly-text="text" @callback="data => formId = data.id" />
+                        </template>
+                    </ibps-crud>
+                </div>
+            </div>
+
+        </el-dialog>
     </div>
-    <dv-border-box-1 style="width:100%;height:89%; box-sizing: border-box; overflow: hidden;">
-      <div style="height:3%"></div>
-      <!-- <dv-decoration-10 style="height:2%;width:100%;" /> -->
-      <div class="middleView">
-        <div class="viewLeft">
-          <pieView v-if="degreePieData.data[0].value" :info="degreePieData" />
-        </div>
-        <dv-decoration-2 :reverse="true" style="width:2%;height: 100%;" />
-        <div class="viewCenter">
-          <RingChart v-if="ranksPieData.data[2].value" :info="ranksPieData" />
-        </div>
-        <dv-decoration-2 :reverse="true" style="width:2%;height: 100%;" />
-        <div class="viewRight">
-          <CarouselTabl v-if="personInfoData.data.length" :info="personInfoData" title="员工基本信息列表" />
-        </div>
-      </div>
-      <dv-decoration-10 style="height:2%;width:96%; margin: 0 auto;" />
-      <div class="bottomView">
-        <div class="detectionTask">
-          <!-- <div id="echart-line" :style="{ width: '100%', height: '100%', paddingRight: '10px' }"></div> -->
-          <BarChart v-if="this.option.yAxis.data[0]" :info="option" :config="{title:'检测任务统计',id:'textJob'}" />
-        </div>
-        <dv-decoration-2 :reverse="true" style="width:2%;height: 100%;" />
-        <div class="taskMatters">
-          <BarChart v-if="this.option.yAxis.data[0]" :info="option" :config="{title:'任务事宜统计',id:'taskMatters'}" />
-        </div>
-        <!-- <dv-decoration-2 :reverse="true" style="width:2%;height: 100%;" /> -->
-        <!-- <el-dialog :visible.sync="dialogTableVisible">
-        <div class="dialogbox">
-          <div class="jbd-title-cont"> {{ setParams.seriesName }}-{{ setParams.name }} </div>
-          <div class="ibps">
-            <ibps-crud key="istree" ref="crud" :data="formDataFiiter" :toolbars="listConfig.toolbars" :search-form="listConfig.searchForm" :pk-key="pkKey" :columns="listConfig.columns" :loading="loading" @action-event="handleAction" :pagination="pagination" @pagination-change="handlePaginationChange">
-              <template slot="jianceyuan" slot-scope="scope">
-                <ibps-user-selector :value="scope.row.jian_ce_yuan_" type="user" :multiple="true" :disabled="true" readonly-text="text" @callback="data => formId = data.id" />
-              </template>
-              <template slot="fuheyuan" slot-scope="scope">
-                <ibps-user-selector :value="scope.row.fu_he_yuan_" type="user" :multiple="true" :disabled="true" readonly-text="text" @callback="data => formId = data.id" />
-              </template>
-            </ibps-crud>
-          </div>
-        </div>
-      </el-dialog> -->
-      </div>
-    </dv-border-box-1>
-  </div>
 </template>
-  
+
 <script>
-import * as echarts from "echarts";
-import curdPost from "@/business/platform/form/utils/custom/joinCURD.js";
-import IbpsUserSelector from "@/business/platform/org/selector";
-import pieView from "@/views/system/jbdHome/board/component/getPieView";
-import CarouselTabl from "@/views/system/jbdHome/board/component/CarouselTabl";
-// import { pending, handledTask } from '@/api/platform/office/bpmReceived'
-// import { queryPageList } from '@/api/platform/bpmn/bpmTask'
-import ActionUtils from "@/utils/action";
-import { sync } from '@/api/platform/mail/outMail';
-import data from '@/components/ibps-icon-select/data';
+import * as echarts from 'echarts';
+import curdPost from '@/business/platform/form/utils/custom/joinCURD.js'
+import IbpsUserSelector from '@/business/platform/org/selector'
+import ActionUtils from '@/utils/action'
 export default {
-  name: "checkBoard1",
-  components: {
-    "ibps-user-selector": IbpsUserSelector,
-    pieView,
-    CarouselTabl,
-    RingChart: () => import("../personComcont/RingChart"),
-    BarChart: () => import("../personComcont/BarChart"),
-  },
-  props: {},
-  data() {
-    return {
-      pkKey: "id", // 主键  如果主键不是pk需要传主键
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "本月",
-            onClick(picker) {
-              const start = new Date();
-              start.setDate(1);
-              picker.$emit("pick", [start, new Date()]);
-            },
-          },
-          {
-            text: "今年至今",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date(new Date().getFullYear(), 0);
-              picker.$emit("pick", [start, end]);
+    components: {
+        'ibps-user-selector': IbpsUserSelector
+    },
+    props: {},
+    data() {
+        return {
+            pkKey: 'id', // 主键  如果主键不是pk需要传主键
+            pickerOptions: {
+                shortcuts: [{
+                    text: '本月',
+                    onClick(picker) {
+                        const start = new Date();
+                        start.setDate(1);
+                        picker.$emit('pick', [start, new Date()]);
+                    }
+                }, {
+                    text: '今年至今',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date(new Date().getFullYear(), 0);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近六个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setMonth(start.getMonth() - 6);
+                        start.setDate(1);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }]
             },
-          },
-          {
-            text: "最近六个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setMonth(start.getMonth() - 6);
-              start.setDate(1);
-              picker.$emit("pick", [start, end]);
+            monthValues: [],
+            dialogTableVisible: false,
+            getchart: null,
+            option: {
+                title: {
+                    text: ''
+                },
+                tooltip: {
+                    trigger: 'axis',
+                    axisPointer: {
+                        type: 'shadow'
+                    }
+                },
+                legend: {
+                    orient: 'vertical',
+                    right: '5',
+                    top: 'top'
+                },
+                grid: {
+                    left: '2%',
+                    right: '10%',
+                    bottom: '3%',
+                    containLabel: true
+                },
+                xAxis: {
+                    type: 'value',
+                    name: '任务数量(项)',
+                    axisLabel: {
+                        formatter: function (v) {
+                            return parseInt(v)//表示整数。其他数值类型以此类推
+                        }
+                    }
+                },
+                yAxis: {
+                    type: 'category',
+                    name: '检测人员',
+                    data: []
+                },
+                series: [
+                    {
+                        name: '检测未完成数',
+                        type: 'bar',
+                        data: [],
+                        label: {
+                            show: true,
+                            position: 'right',
+                            valueAnimation: true
+                        }
+                    },
+                    {
+                        name: '检测已完成数',
+                        type: 'bar',
+                        data: [],
+                        label: {
+                            show: true,
+                            position: 'right',
+                            valueAnimation: true
+                        }
+                    },
+                    {
+                        name: '复核未完成数',
+                        type: 'bar',
+                        data: [],
+                        label: {
+                            show: true,
+                            position: 'right',
+                            valueAnimation: true
+                        }
+                    },
+                    {
+                        name: '复核已完成数',
+                        type: 'bar',
+                        data: [],
+                        label: {
+                            show: true,
+                            position: 'right',
+                            valueAnimation: true
+                        }
+                    }
+                ],
+                dataZoom: [
+                    {
+                        type: 'inside',
+                        xAxisIndex: 0,
+                        filterMode: 'filter'
+                    },
+                    {
+                        type: 'inside',
+                        left: 'left',
+                        yAxisIndex: 0,
+                        filterMode: 'none'
+                    }
+                ]
             },
-          },
-        ],
-      },
-      monthValues: [],
-      dialogTableVisible: false,
-      getchart: null,
-      option: {
-        title: {
-          text: "",
-        },
-        textAlign: "left",
-        tooltip: {
-          trigger: "axis",
-          axisPointer: {
-            type: "shadow",
-          },
-        },
-        legend: {
-          // show: true,
-          left: "0%",
-          itemGap: 2,
-          itemWidth: 16,
-          textStyle: {
-            color:'#fff',
-          },
-        },
-        grid: {
-          left: "2%",
-          right: "10%",
-          bottom: "3%",
-          containLabel: true,
-        },
-        xAxis: {
-          type: "value",
-          name: "任务数量(项)",
-
-          axisLabel: {
-            formatter: function (v) {
-              return parseInt(v); //表示整数。其他数值类型以此类推
+            setParams: {},
+            formData: [],
+            formDataFiiter: [],
+            listConfig: {
+                // 工具栏
+                toolbars: [
+                    { key: 'search' }
+                ],
+                // 查询条件
+                searchForm: {
+                    forms: [
+                        { prop: 'yang_pin_bian_hao', label: '样品编号' },
+                        { prop: 'yang_pin_ming_che', label: '样品名称' },
+                        { prop: 'yang_pin_lei_xing', label: '样品类型' },
+                        { prop: 'shi_fou_he_ge_', label: '是否合格' },
+                    ]
+                },
+                // 表格字段配置
+                columns: [
+                    { prop: 'wei_tuo_lei_xing_', label: '委托类型' },
+                    { prop: 'jian_ce_zhuang_ta', label: '检测状态' },
+                    { prop: 'yang_pin_lei_xing', label: '样品类型' },
+                    { prop: 'yang_pin_bian_hao', label: '样品编号' },
+                    { prop: 'yang_pin_ming_che', label: '样品名称' },
+                    { prop: 'ji_lu_bian_hao_', label: '记录编号' },
+                    { prop: 'shi_fou_he_ge_', label: '是否合格' },
+                    { prop: 'jian_ce_yuan_', label: '检测员', slotName: "jianceyuan" },
+                    { prop: 'fu_he_yuan_', label: '复核员', slotName: "fuheyuan" }
+                ]
             },
-            color:'#fff',
-          },
-        },
-        yAxis: {
-          type: "category",
-          name: "检测人员",
-          data: [],
-          axisLabel:{
-            color:'#fff'
-          }
+            startDate: '2022-1-1',
+            endDate: '',
+            chartData: [],
+            pagination: { limit: 20, page: 1 },
+            loading: false
+        };
+    },
+    computed: {},
+    methods: {
+        initChart() {
+            this.getchart = echarts.init(document.getElementById('echart-line'));
+            document.getElementById('echart-line').setAttribute('_echarts_instance_', '');
+            this.getchart.setOption(this.option, true);
+            //随着屏幕大小调节图表
+            window.addEventListener("resize", () => {
+                this.getchart.resize();
+            });
+            this.getchart.on('click', (params) => {
+                this.pagination = { limit: 20, page: 1 }
+                this.dialogTableVisible = true
+                this.setParams["dataIndex"] = params.dataIndex
+                this.setParams["name"] = params.name
+                switch (params.seriesName) {
+                    case "检测未完成数":
+                        this.setParams["seriesName"] = "未完成检测项目情况"
+                        break;
+                    case "检测已完成数":
+                        this.setParams["seriesName"] = "已完成检测项目情况"
+                        break;
+                    case "复核未完成数":
+                        this.setParams["seriesName"] = "未完成复核项目情况"
+                        break;
+                    case "复核已完成数":
+                        this.setParams["seriesName"] = "已完成复核项目情况"
+                        break;
+                    default:
+                        break;
+                }
+                this.formLoading()
+            });
         },
-        series: [
-          {
-            name: "检测未完成数",
-            type: "bar",
-            data: [],
-            label: {
-              show: true,
-              position: "right",
-              valueAnimation: true,
-            },
-          },
-          {
-            name: "检测已完成数",
-            type: "bar",
-            data: [],
-            label: {
-              show: true,
-              position: "right",
-              valueAnimation: true,
-            },
-          },
-          {
-            name: "复核未完成数",
-            type: "bar",
-            data: [],
-            label: {
-              show: true,
-              position: "right",
-              valueAnimation: true,
-            },
-          },
-          {
-            name: "复核已完成数",
-            type: "bar",
-            data: [],
-            label: {
-              show: true,
-              position: "right",
-              valueAnimation: true,
-            },
-          },
-        ],
-        dataZoom: [
-          {
-            type: "inside",
-            xAxisIndex: 0,
-            filterMode: "filter",
-          },
-          {
-            type: "inside",
-            left: "left",
-            yAxisIndex: 0,
-            filterMode: "none",
-          },
-        ],
-      },
-      setParams: {},
-      formData: [],
-      formDataFiiter: [],
-      listConfig: {
-        // 工具栏
-        toolbars: [{ key: "search" }],
-        // 查询条件
-        searchForm: {
-          forms: [
-            { prop: "yang_pin_bian_hao", label: "样品编号" },
-            { prop: "yang_pin_ming_che", label: "样品名称" },
-            { prop: "yang_pin_lei_xing", label: "样品类型" },
-            { prop: "shi_fou_he_ge_", label: "是否合格" },
-          ],
+        /**
+        * 处理按钮事件
+        */
+        handleAction(command, position, selection, data) {
+            switch (command) {
+                case 'search':// 查询
+                    console.log("搜索")
+                    const params = this.$refs['crud'] ? this.$refs['crud'].getSearcFormData() : {}
+                    console.log("params:", params)
+                    this.formLoading()
+                    break
+                default:
+                    break
+            }
         },
-        // 表格字段配置
-        columns: [
-          { prop: "wei_tuo_lei_xing_", label: "委托类型" },
-          { prop: "jian_ce_zhuang_ta", label: "检测状态" },
-          { prop: "yang_pin_lei_xing", label: "样品类型" },
-          { prop: "yang_pin_bian_hao", label: "样品编号" },
-          { prop: "yang_pin_ming_che", label: "样品名称" },
-          { prop: "ji_lu_bian_hao_", label: "记录编号" },
-          { prop: "shi_fou_he_ge_", label: "是否合格" },
-          { prop: "jian_ce_yuan_", label: "检测员", slotName: "jianceyuan" },
-          { prop: "fu_he_yuan_", label: "复核员", slotName: "fuheyuan" },
-        ],
-      },
-      startDate: "2022-1-1",
-      endDate: "",
-      chartData: [],
-      pagination: { limit: 20, page: 1 },
-      loading: false,
-      degreePieData: { //学位学历
-        data: [
-          {
-            name: "博士",
-            value: 0,
-          },
-          {
-            name: "硕士",
-            value: 0,
-          },
-          {
-            name: "本科",
-            value: 0,
-          },
-        ],
-        color: ["#FFFF00", "#99CC00", "#6666FF"],
-        config: { title: "学历学位统计", idSelector: "degreeId" },
-      },
-      ranksPieData: { //职称
-        data: [
-          {
-            name: "高级",
-            value: 0,
-          },
-          {
-            name: "中级",
-            value: 0,
-          },
-          {
-            name: "初级",
-            value: 0,
-          },
-        ],
-        color: ["#FFFF00", "#99CC00", "#6666FF"],
-        config: { title: "职称显示", idSelector: "ranksid" },
-      },
-      personInfoData: { //员工基本信息轮播表
-        header: ["姓名", "学历学位", "职称", "员工编号", "入职时间"],
-        data: [],
-        columnWidth: ["100", "90"],
-        rowNum: 6,
-        align:'center',
-        hoverPause:true,
-      },
-      employeeNum:0,
-      employeeInfo:[],
-    };
-  },
-  computed: {},
-  methods: {
-    async getTtaskMattersData(){
-      let create_by_ = ''
-      let data =[];
-      let csData = [];
-      for(let item of this.employeeInfo){
-        create_by_  += create_by_+ ',' + item.id_;
-      }
-      create_by_ = create_by_.slice(0,create_by_.length - 1);
-      let sql = `select  executor_,count(executor_) as num ,c.name_ FROM  IBPS_BPM_TASKS as a join IBPS_BPM_TASK_ASSIGN as b  on a.task_id_ = b.task_id_ join ibps_party_employee as c on b.executor_ = c.id_  GROUP BY  executor_`
-      await curdPost("sql", sql).then(res=>{
-        data = res.variables.data;
-      })
-      //超时
-      let cssql = `SELECT  executor_ ,count(executor_) as num ,c.name_,a.create_time_ FROM  IBPS_BPM_TASKS as a join IBPS_BPM_TASK_ASSIGN as b  on a.task_id_ = b.task_id_ join ibps_party_employee as c on b.executor_ = c.id_  
-                  where now()> SUBDATE(a.create_time_,interval - 3 day) GROUP BY  executor_ `
-      await curdPost("sql", cssql).then(res=>{
-        csData = res.variables.data;
-      })
-     
-    },
-    // initChart() {
-    //   this.getchart = echarts.init(document.getElementById("echart-line"));
-    //   // document.getElementById("echart-line").setAttribute("_echarts_instance_", "");
-    //   this.getchart.setOption(this.option);
-    //   // //随着屏幕大小调节图表
-    //   // window.addEventListener("resize", () => {
-    //   //   this.getchart.resize();
-    //   // });
-    //   // this.getchart.on("click", (params) => {
-    //   //   this.pagination = { limit: 20, page: 1 };
-    //   //   this.dialogTableVisible = true;
-    //   //   this.setParams["dataIndex"] = params.dataIndex;
-    //   //   this.setParams["name"] = params.name;
-    //   //   switch (params.seriesName) {
-    //   //     case "检测未完成数":
-    //   //       this.setParams["seriesName"] = "未完成检测项目情况";
-    //   //       break;
-    //   //     case "检测已完成数":
-    //   //       this.setParams["seriesName"] = "已完成检测项目情况";
-    //   //       break;
-    //   //     case "复核未完成数":
-    //   //       this.setParams["seriesName"] = "未完成复核项目情况";
-    //   //       break;
-    //   //     case "复核已完成数":
-    //   //       this.setParams["seriesName"] = "已完成复核项目情况";
-    //   //       break;
-    //   //     default:
-    //   //       break;
-    //   //   }
-    //   //   this.formLoading();
-    //   // });
-    // },
-    /**
-     * 处理按钮事件
-     */
-    handleAction(command, position, selection, data) {
-      switch (command) {
-        case "search": // 查询
-          console.log("搜索");
-          const params = this.$refs["crud"]
-            ? this.$refs["crud"].getSearcFormData()
-            : {};
-          console.log("params:", params);
-          this.formLoading();
-          break;
-        default:
-          break;
-      }
-    },
-    /**
+        /**
      * 处理分页事件
      */
-    handlePaginationChange(page) {
-      this.pagination = page;
-      this.paginationFunc(this.formData);
-    },
-    // 图表数据加载
-    async chartLoading() {
-      // 获取所有检测人员任务统计
-      let this_ = this;
-      const sql = `select  *FROM (SELECT ie.ID_ AS jcId,ie.NAME_ AS jcName,COUNT(tj.zhuang_tai_ = '待数据输入' OR NULL) AS jianCeWeiWanCheng,COUNT(tj.zhuang_tai_ = '待数据校验' OR tj.zhuang_tai_ = '已完成' OR NULL) AS jianCeYiWanCheng FROM 
-                          t_lhjczb tj,ibps_party_employee ie 
-                          WHERE ie.positions_ like '%1040709034740547584%' and tj.jian_ce_yuan_ = ie.ID_ AND tj.update_time_ BETWEEN '${this.startDate}' AND '${this.endDate}' GROUP BY jian_ce_yuan_ 
-                          ) jc  LEFT JOIN 
-                          (
-                          SELECT ie.ID_ AS fhId,ie.NAME_ AS fhName,COUNT(tj.zhuang_tai_ = '待数据校验' OR NULL) AS fuHeWeiWanCheng,COUNT(tj.zhuang_tai_ = '已完成' OR NULL) AS fuHeYiWanCheng FROM 
-                          t_lhjczb tj,ibps_party_employee ie 
-                          WHERE ie.positions_ like '%1040709034740547584%' and tj.fu_he_yuan_ = ie.ID_ AND tj.update_time_ BETWEEN  '${this.startDate}' AND '${this.endDate}' GROUP BY fu_he_yuan_ 
-                          ) fh ON jc.jcName = fh.fhName
-                          UNION (
-                          SELECT  *FROM (SELECT ie.ID_ AS jcId, ie.NAME_ AS jcName,COUNT(tj.zhuang_tai_ = '待数据输入' OR NULL) AS jianCeWeiWanCheng,COUNT(tj.zhuang_tai_ = '待数据校验' OR tj.zhuang_tai_ = '已完成' OR NULL) AS jianCeYiWanCheng FROM 
-                          t_lhjczb tj,ibps_party_employee ie 
-                          WHERE tj.jian_ce_yuan_ = ie.ID_ AND tj.update_time_ BETWEEN  '${this.startDate}' AND '${this.endDate}' GROUP BY jian_ce_yuan_ 
-                          ) jc  RIGHT JOIN 
-                          (
-                          SELECT ie.ID_ AS fhId,ie.NAME_ AS fhName,COUNT(tj.zhuang_tai_ = '待数据校验' OR NULL) AS fuHeWeiWanCheng,COUNT(tj.zhuang_tai_ = '已完成' OR NULL) AS fuHeYiWanCheng FROM 
-                          t_lhjczb tj,ibps_party_employee ie 
-                          WHERE ie.positions_ like '%1040709034740547584%' and tj.fu_he_yuan_ = ie.ID_ AND tj.update_time_ BETWEEN  '${this.startDate}' AND '${this.endDate}' GROUP BY fu_he_yuan_ 
-                          ) fh ON jc.jcName = fh.fhName
-                          )`;
-      // console.log(sql,"sql")
-      this.option.yAxis.data = [];
-      this.option.series[0].data = [];
-      this.option.series[1].data = [];
-      this.option.series[2].data = [];
-      this.option.series[3].data = [];
-      this.chartData = [];
-      await curdPost("sql", sql)
-        .then((res) => {
-          const data = res.variables.data;
-          for (let i of data) {
-            this_.option.yAxis.data.push(i.jcName ? i.jcName : i.fhName);
-            // 检测未完成数
-            this_.option.series[0].data.push(
-              i.jianCeWeiWanCheng ? i.jianCeWeiWanCheng : 0
-            );
-            // 检测已完成数
-            this_.option.series[1].data.push(
-              i.jianCeYiWanCheng ? i.jianCeYiWanCheng : 0
-            );
-            // 复核未完成数
-            this_.option.series[2].data.push(
-              i.fuHeWeiWanCheng ? i.fuHeWeiWanCheng : 0
-            );
-            // 复核已完成数
-            this_.option.series[3].data.push(
-              i.fuHeYiWanCheng ? i.fuHeYiWanCheng : 0
-            );
-            this_.chartData.push(i);
-          }
-        })
-        .catch((error) => {
-          console.log(error);
-        });
-    },
-    formLoading() {
-      this.loading = true;
-      let formsql = `select zhuang_tai_,fu_jian_,yang_pin_bian_hao,yang_pin_ming_che,shi_fou_he_ge_,
-                     ji_lu_bian_hao_,wei_tuo_lei_xing_,jian_ce_yuan_,fu_he_yuan_,yang_pin_lei_xing FROM t_lhjczb
-                     where update_time_ BETWEEN '${this.startDate}' AND '${this.endDate}' and `;
-      let sql = "";
+        handlePaginationChange(page) {
+            this.pagination = page
+            this.paginationFunc(this.formData)
+        },
+        // 图表数据加载
+        chartLoading() {
+            // 获取所有检测人员任务统计
+            const sql = `select  *FROM (SELECT ie.ID_ AS jcId,ie.NAME_ AS jcName,COUNT(tj.zhuang_tai_ = '待数据输入' OR NULL) AS jianCeWeiWanCheng,COUNT(tj.zhuang_tai_ = '待数据校验' OR tj.zhuang_tai_ = '已完成' OR NULL) AS jianCeYiWanCheng FROM 
+                        t_lhjczb tj,ibps_party_employee ie 
+                        WHERE tj.jian_ce_yuan_ = ie.ID_ AND tj.update_time_ BETWEEN '${this.startDate}' AND '${this.endDate}' GROUP BY jian_ce_yuan_ 
+                        ) jc  LEFT JOIN 
+                        (
+                        SELECT ie.ID_ AS fhId,ie.NAME_ AS fhName,COUNT(tj.zhuang_tai_ = '待数据校验' OR NULL) AS fuHeWeiWanCheng,COUNT(tj.zhuang_tai_ = '已完成' OR NULL) AS fuHeYiWanCheng FROM 
+                        t_lhjczb tj,ibps_party_employee ie 
+                        WHERE tj.fu_he_yuan_ = ie.ID_ AND tj.update_time_ BETWEEN  '${this.startDate}' AND '${this.endDate}' GROUP BY fu_he_yuan_ 
+                        ) fh ON jc.jcName = fh.fhName
+                        UNION (
+                        SELECT  *FROM (SELECT ie.ID_ AS jcId, ie.NAME_ AS jcName,COUNT(tj.zhuang_tai_ = '待数据输入' OR NULL) AS jianCeWeiWanCheng,COUNT(tj.zhuang_tai_ = '待数据校验' OR tj.zhuang_tai_ = '已完成' OR NULL) AS jianCeYiWanCheng FROM 
+                        t_lhjczb tj,ibps_party_employee ie 
+                        WHERE tj.jian_ce_yuan_ = ie.ID_ AND tj.update_time_ BETWEEN  '${this.startDate}' AND '${this.endDate}' GROUP BY jian_ce_yuan_ 
+                        ) jc  RIGHT JOIN 
+                        (
+                        SELECT ie.ID_ AS fhId,ie.NAME_ AS fhName,COUNT(tj.zhuang_tai_ = '待数据校验' OR NULL) AS fuHeWeiWanCheng,COUNT(tj.zhuang_tai_ = '已完成' OR NULL) AS fuHeYiWanCheng FROM 
+                        t_lhjczb tj,ibps_party_employee ie 
+                        WHERE tj.fu_he_yuan_ = ie.ID_ AND tj.update_time_ BETWEEN  '${this.startDate}' AND '${this.endDate}' GROUP BY fu_he_yuan_ 
+                        ) fh ON jc.jcName = fh.fhName
+                        )`
+            this.option.yAxis.data = []
+            this.option.series[0].data = []
+            this.option.series[1].data = []
+            this.option.series[2].data = []
+            this.option.series[3].data = []
+            this.chartData = []
+            curdPost('sql', sql).then(res => {
+                const data = res.variables.data
+                for (let i of data) {
+                    this.option.yAxis.data.push(i.jcName ? i.jcName : i.fhName)
+                    // 检测未完成数
+                    this.option.series[0].data.push(i.jianCeWeiWanCheng ? i.jianCeWeiWanCheng : 0)
+                    // 检测已完成数
+                    this.option.series[1].data.push(i.jianCeYiWanCheng ? i.jianCeYiWanCheng : 0)
+                    // 复核未完成数
+                    this.option.series[2].data.push(i.fuHeWeiWanCheng ? i.fuHeWeiWanCheng : 0)
+                    // 复核已完成数
+                    this.option.series[3].data.push(i.fuHeYiWanCheng ? i.fuHeYiWanCheng : 0)
+                    this.chartData.push(i)
+                }
+                this.initChart()
+            }).catch(error => {
+                console.log(error)
+            })
+        },
+        formLoading() {
+            this.loading = true
+            let formsql = `select zhuang_tai_,fu_jian_,yang_pin_bian_hao,yang_pin_ming_che,shi_fou_he_ge_,
+                        ji_lu_bian_hao_,wei_tuo_lei_xing_,jian_ce_yuan_,fu_he_yuan_,yang_pin_lei_xing FROM t_lhjczb
+                        where update_time_ BETWEEN '${this.startDate}' AND '${this.endDate}' and `
+            let sql = ''
 
-      const params = this.$refs["crud"]
-        ? this.$refs["crud"].getSearcFormData()
-        : {};
-      // console.log("params:", params)
+            const params = this.$refs['crud'] ? this.$refs['crud'].getSearcFormData() : {}
+            // console.log("params:", params)
 
-      switch (this.setParams.seriesName) {
-        case "未完成检测项目情况":
-          sql =
-            formsql +
-            `zhuang_tai_ = '待数据输入' and jian_ce_yuan_='${
-              this.chartData[this.setParams.dataIndex].jcId
-            }'`;
-          break;
-        case "已完成检测项目情况":
-          sql =
-            formsql +
-            `(zhuang_tai_ = '待数据校验' or zhuang_tai_ = '已完成') and jian_ce_yuan_='${
-              this.chartData[this.setParams.dataIndex].jcId
-            }'`;
-          break;
-        case "未完成复核项目情况":
-          sql =
-            formsql +
-            `zhuang_tai_ = '待数据校验' and fu_he_yuan_='${
-              this.chartData[this.setParams.dataIndex].fhId
-            }'`;
-          break;
-        case "已完成复核项目情况":
-          sql =
-            formsql +
-            `zhuang_tai_ = '已完成' and fu_he_yuan_='${
-              this.chartData[this.setParams.dataIndex].fhId
-            }'`;
-          break;
-        default:
-          break;
-      }
-      sql =
-        sql +
-        `${
-          params.yang_pin_lei_xing
-            ? ` and yang_pin_lei_xing like '%${params.yang_pin_lei_xing}%'`
-            : ``
-        }`;
-      sql =
-        sql +
-        `${
-          params.shi_fou_he_ge_
-            ? ` and shi_fou_he_ge_ like '%${params.shi_fou_he_ge_}%'`
-            : ``
-        }`;
-      sql =
-        sql +
-        `${
-          params.yang_pin_bian_hao
-            ? ` and yang_pin_bian_hao like '%${params.yang_pin_bian_hao}%'`
-            : ``
-        }`;
-      sql =
-        sql +
-        `${
-          params.yang_pin_ming_che
-            ? ` and yang_pin_ming_che like '%${params.yang_pin_ming_che}%'`
-            : ``
-        }`;
+            switch (this.setParams.seriesName) {
+                case "未完成检测项目情况":
+                    sql = formsql + `zhuang_tai_ = '待数据输入' and jian_ce_yuan_='${this.chartData[this.setParams.dataIndex].jcId}'`
+                    break;
+                case "已完成检测项目情况":
+                    sql = formsql + `(zhuang_tai_ = '待数据校验' or zhuang_tai_ = '已完成') and jian_ce_yuan_='${this.chartData[this.setParams.dataIndex].jcId}'`
+                    break;
+                case "未完成复核项目情况":
+                    sql = formsql + `zhuang_tai_ = '待数据校验' and fu_he_yuan_='${this.chartData[this.setParams.dataIndex].fhId}'`
+                    break;
+                case "已完成复核项目情况":
+                    sql = formsql + `zhuang_tai_ = '已完成' and fu_he_yuan_='${this.chartData[this.setParams.dataIndex].fhId}'`
+                    break;
+                default:
+                    break;
+            }
+            sql = sql + `${params.yang_pin_lei_xing ? ` and yang_pin_lei_xing like '%${params.yang_pin_lei_xing}%'` : ``}`
+            sql = sql + `${params.shi_fou_he_ge_ ? ` and shi_fou_he_ge_ like '%${params.shi_fou_he_ge_}%'` : ``}`
+            sql = sql + `${params.yang_pin_bian_hao ? ` and yang_pin_bian_hao like '%${params.yang_pin_bian_hao}%'` : ``}`
+            sql = sql + `${params.yang_pin_ming_che ? ` and yang_pin_ming_che like '%${params.yang_pin_ming_che}%'` : ``}`
 
-      curdPost("sql", sql)
-        .then((res) => {
-          this.loading = false;
-          const data = res.variables.data;
-          this.formData = res.variables.data;
-          document.getElementsByClassName(
-            "el-pagination__rightwrapper"
-          )[0].style.display = "none";
-          this.paginationFunc(res.variables.data);
-        })
-        .catch((error) => {
-          console.log(error);
-          this.loading = false;
-        });
-    },
-    /**
-     * 数据分页
-     * par:[]
-     * pagination: { limit: 20, page: 1 },
-     */
-    paginationFunc(par) {
-      this.formDataFiiter = [];
-      for (
-        var i =
-          this.pagination.limit * this.pagination.page - this.pagination.limit;
-        i < this.pagination.limit * this.pagination.page;
-        i++
-      ) {
-        if (i < this.formData.length) {
-          this.formDataFiiter.push(this.formData[i]);
+            curdPost('sql', sql).then(res => {
+                this.loading = false
+                const data = res.variables.data
+                this.formData = res.variables.data
+                document.getElementsByClassName("el-pagination__rightwrapper")[0].style.display = "none";
+                this.paginationFunc(res.variables.data)
+            }).catch(error => {
+                console.log(error)
+                this.loading = false
+            })
+        },
+        /**
+         * 数据分页
+         * par:[]
+         * pagination: { limit: 20, page: 1 },
+         */
+        paginationFunc(par) {
+            this.formDataFiiter = []
+            for (var i = (this.pagination.limit * this.pagination.page - this.pagination.limit); i < (this.pagination.limit * this.pagination.page); i++) {
+                if (i < this.formData.length) {
+                    this.formDataFiiter.push(this.formData[i])
+                }
+            }
+        },
+        changeDate(value) {
+            let year = value[1].getFullYear()
+            let month = value[1].getMonth() + 1
+            // 这里传入的是整数时间,返回的是下个月的第一天,因为月份是0-11
+            let nextMonthFirthDay = new Date(year, month, 1) // 下个月的第一天
+            let oneDay = 1000 * 60 * 60 * 24 // 一天的时间毫秒数
+            let endDay = new Date(nextMonthFirthDay - oneDay)
+            let day = endDay.getDate() // 本月最后一天
+            this.endDate = value[1].getFullYear() + '-' + (value[1].getMonth() + 1) + '-' + day
+            this.startDate = value[0].getFullYear() + '-' + (value[0].getMonth() + 1) + '-' + value[0].getDate()
+            this.chartLoading()
         }
-      }
     },
-    changeDate(value) {
-      let year = value[1].getFullYear();
-      let month = value[1].getMonth() + 1;
-      // 这里传入的是整数时间,返回的是下个月的第一天,因为月份是0-11
-      let nextMonthFirthDay = new Date(year, month, 1); // 下个月的第一天
-      let oneDay = 1000 * 60 * 60 * 24; // 一天的时间毫秒数
-      let endDay = new Date(nextMonthFirthDay - oneDay);
-      let day = endDay.getDate(); // 本月最后一天
-      this.endDate =
-        value[1].getFullYear() + "-" + (value[1].getMonth() + 1) + "-" + day;
-      this.startDate =
-        value[0].getFullYear() +
-        "-" +
-        (value[0].getMonth() + 1) +
-        "-" +
-        value[0].getDate();
-      this.chartLoading();
+    created() {
+        const initendDate = new Date();
+        this.endDate = initendDate.getFullYear() + '-' + (initendDate.getMonth() + 1) + '-' + initendDate.getDate()
+        this.monthValues = [new Date(this.startDate), new Date(initendDate.getFullYear() + '-' + (initendDate.getMonth() + 1) + '-' + initendDate.getDate())]
+        this.chartLoading()
     },
-    //员工基本信息 轮播表数据
-    async employeeInfoData(){
-      let this_ = this;
-      this.personInfoData.data =[];
-      let data = [];
-      let personInfo = [];
-      // let ranksObj = {};
-      let sql = `select a.id_,a.parent_id_,b.name_,a.zui_gao_xue_li_x_,a.zhi_cheng_deng_ji,b.jian_ding_zi_ge_z,a.ru_zhi_shi_jian_ from  t_ryjbqk as a join  ibps_party_employee as b on a.parent_id_= b.id_`
-      await curdPost("sql", sql).then(res=>{
-        data = res.variables.data;
-      })
-      this.employeeInfo = data;
-      this.employeeNum = data.length;
-      for(let item of data){
-        personInfo =[];
-        personInfo.push(item.name_);
-        personInfo.push(item.zui_gao_xue_li_x_||"  ");
-        personInfo.push(item.zhi_cheng_deng_ji||"  ");
-        personInfo.push(item.jian_ding_zi_ge_z||"  ");
-        personInfo.push(item.ru_zhi_shi_jian_||"  ");
-        this.personInfoData.data.push(personInfo||"  ");
-      }
-    },
-    //饼图 环形图数据
-    async degreeGradeInfoData(){
-      let data = [];
-      let sql = `select 
-                sum(a.zui_gao_xue_li_x_ = '博士') as doctor,
-                sum(a.zui_gao_xue_li_x_ = '硕士') as Master,
-                sum(a.zui_gao_xue_li_x_ = '本科') as undergraduate,
-                sum(a.zhi_cheng_deng_ji = '初级') as elementary,
-                sum(a.zhi_cheng_deng_ji = '中级') as middleRank,
-                sum(a.zhi_cheng_deng_ji = '高级') as senior
-                from t_ryjbqk as a join  ibps_party_employee as b on a.parent_id_= b.id_`
-      await curdPost("sql", sql).then(res=>{
-        data = res.variables.data;
-      })
-      this.degreePieData.data[0].value = data[0].doctor;
-      this.degreePieData.data[1].value = data[0].Master;
-      this.degreePieData.data[2].value = data[0].undergraduate;
-      this.ranksPieData.data[0].value = data[0].senior;
-      this.ranksPieData.data[1].value = data[0].middleRank;
-      this.ranksPieData.data[2].value = data[0].elementary;
-
+    mounted() {
+        this.initChart()
     }
-  },
-  created() {
-    const initendDate = new Date();
-    this.endDate =initendDate.getFullYear() +"-" +(initendDate.getMonth() + 1) +"-" +initendDate.getDate();
-    this.monthValues = [
-      new Date(this.startDate),
-      new Date(initendDate.getFullYear() +"-" +(initendDate.getMonth() + 1) +"-" +initendDate.getDate()),
-    ];
-    this.chartLoading();
-    this.employeeInfoData();
-    this.degreeGradeInfoData();
-    this.getTtaskMattersData();
-  },
-  mounted() {
-    // this.initChart();
-  },
 };
 </script>
-  <style lang="less" scoped>
-.personView {
-  width: 100%;
-  height: 100%;
-  background-image: url("~@/views/system/jbdHome/board/img/bg.png");
+<style lang="less" scoped>
+.contain {
+    width: 100%;
+    height: 800px;
+    border-left: 1px solid #dfdcdc;
 }
-.topView {
-  overflow: hidden;
-  box-sizing: border-box;
-  .jbd-title {
+
+.date {
+    text-align: right;
+    padding-right: 20px;
+}
+
+.chart {
+    width: 95%;
+    height: 800px;
+}
+
+.jbd-title-cont {
     text-align: center;
     font-weight: bold;
-    // background-color: rgb(249, 255, 255);
+    background-color: rgb(249, 255, 255);
     width: 100%;
-    color: white;
     font-size: 18px;
-    height: 50%;
-  }
-  .contain {
-    width: 100%;
-    height: 50%;
-    display: flex;
-    justify-content: space-between;
-    border-left: 1px solid #dfdcdc;
-    color: white;
-    .personNum {
-      margin-left: 20px;
-    }
-    .date {
-      text-align: right;
-      padding-right: 20px;
-    }
-  }
-}
-
-.middleView {
-  height: 36%;
-  width: 96%;
-  margin: 0 auto;
-  display: flex;
-  justify-content: left;
-  overflow: hidden;
-  box-sizing: border-box;
-  .viewLeft {
-    width: 28%;
-    height: 100%;
-    overflow: hidden;
-    box-sizing: border-box;
-  }
-  .viewCenter {
-    width: 28%;
-    height: 100%;
-    overflow: hidden;
-    box-sizing: border-box;
-  }
-  .viewRight {
-    width: 40%;
-    height: 100%;
-    overflow: hidden;
-    box-sizing: border-box;
-  }
 }
-.bottomView {
-  width: 96%;
-  margin: 0 auto;
-  height: 56%;
 
-  //   background: red;
-  overflow: hidden;
-  box-sizing: border-box;
-  display: flex;
-  .dialogbox {
+.dialogbox {
     display: flex;
     flex-direction: column;
-  }
-  .detectionTask {
-    width: 49%;
-    height: 100%;
-  }
-  .taskMatters {
-    width: 49%;
-    height: 100%;
-  }
-  .ibps {
+}
+
+.ibps {
     top: 55px;
     border: 1px solid rgb(241, 238, 238);
-  }
-  // /deep/ .el-dialog {
-  //   height: 80%;
-  //   width: 80%;
-  // }
+}
 
-  // /deep/ .el-dialog__header {
-  //   border: 0;
-  // }
 
-  // /deep/ .el-pagination__rightwrapper1 {
-  //   display: none;
-  // }
 
-  // /deep/ .ibps-container-crud__header {
-  //   margin-top: 55px;
-  // }
+/deep/ .el-dialog {
+    height: 700px;
+    width: 80%;
+}
+
+/deep/ .el-dialog__header {
+    border: 0;
+}
+
+/deep/ .el-pagination__rightwrapper1 {
+    display: none;
+}
+
+/deep/ .ibps-container-crud__header {
+    margin-top: 55px;
+}
 
-  // /deep/ .el-dialog__headerbtn {
-  //   z-index: 9999;
-  // }
+/deep/ .el-dialog__headerbtn {
+    z-index: 9999;
 }
 </style>

+ 1 - 1
src/views/platform/office/bpmInitiatedProcess/myRequest.vue

@@ -179,7 +179,7 @@ export default {
         },
         // 表格字段配置
         columns: [
-          { prop: 'subject', label: '事务名称1', link: 'dialog' },
+          { prop: 'subject', label: '事务名称', link: 'dialog' },
           { prop: 'procDefName', label: '事务类型', width: 120 },
            { prop: 'createTime', label: '创建时间', width: 140 },
           // { prop: 'status', label: '状态', slotName: 'statusCloum', width: 150 }

+ 93 - 0
src/views/statistics/headerDecoration.vue

@@ -0,0 +1,93 @@
+<!--
+ * @Author: cyy szjbdcyy@126.com
+ * @Date: 2023-03-09 15:33:26
+ * @LastEditors: cyy szjbdcyy@126.com
+ * @LastEditTime: 2023-03-09 15:36:54
+ * @FilePath: \lh_firm_former\src\views\statistics\headerDecoration.vue
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+-->
+<template>
+  <div id="top">
+    <dv-decoration-8 class="header-left-decoration" />
+    <dv-decoration-5 class="header-center-decoration" />
+   
+    <dv-decoration-8 class="header-right-decoration" :reverse="true" />
+    <div class="center-title">实验室管理看板</div>
+    <!-- <span class="showTime">当前时间为:{{sendTime}}</span> -->
+    
+  </div>
+</template>
+
+<script>
+
+export default {
+  // props:['titleName'],
+  data () {
+    return {
+      sendTime:''
+      
+	}
+  },
+  created(){
+    this.currentTime()
+  },
+  methods:{
+    currentTime() {
+      setInterval(this.getNowTime, 500);
+    },
+    getNowTime(){
+      const nowDate = new Date();
+      const date = {
+          year: nowDate.getFullYear(),
+          month: nowDate.getMonth() + 1,
+          day: nowDate.getDate(),
+          hour: nowDate.getHours(),
+          minute: nowDate.getMinutes(),
+          second: nowDate.getSeconds()
+      }
+      this.sendTime = date.year + '年' + date.month + '月' + date.day + '日' +date.hour + '时' + date.minute + '分' + date.second + '秒'
+
+
+      // var date  = new Date()
+      // var yy = date.getFullYear()
+      // var mm = date.getMonth() + 1
+      // var dd = date.getDate()
+      // var hh = date.getHours()
+      // var mm = date.getMinutes()
+      // var ss = date.getSeconds()
+      // document.querySelector(".showTime").innerHTML = "当前时间为" + yy + '年' + mm + '月' + dd + '日' + ss + '时' + mm + '分' + ss + '秒'
+
+
+    }
+  }
+}
+</script>
+
+<style lang="less">
+#top {
+  position: relative;
+  width: 100%;
+  height: 100px;
+  display: flex;
+  justify-content: space-between;
+  flex-shrink: 0;
+ 
+  .header-center-decoration {
+    width: 40%;
+    height: 60px;
+    margin-top: 30px;
+  }
+  .header-left-decoration, .header-right-decoration {
+    width: 25%;
+    height: 60px;
+  }
+  .center-title {
+    position: absolute;
+    font-size: 30px;
+    font-weight: bold;
+    left: 50%;
+    top: 15px;
+    transform: translateX(-50%);
+  }
+}
+</style>

BIN
src/views/statistics/img/bg.png


BIN
src/views/statistics/img/stars.png


+ 192 - 95
src/views/statistics/index.vue

@@ -4,7 +4,9 @@
     <!-- :style="{height:height}" -->
       <div class="statistics">
         <div class="editDate">
-          <div class="stitle">实验室管理看板</div>
+           <!-- 标题装饰组件 -->
+          <header-decoration /> 
+          <!-- <div class="stitle">实验室管理看板</div> -->
           <div class="block" style="display:none">
             <span class="demonstration">开始:</span>
             <el-date-picker v-model="BeginDate" type="year" size="mini" value-format="yyyy" format="yyyy年"  style="width: 96px;"
@@ -12,118 +14,185 @@
             </el-date-picker>
           </div>
 
-          <div class="block">
-            <span class="demonstration">查询年度:</span>
+          <!-- <div class="block"> -->
+            <!-- <span class="demonstration">查询年度:</span> -->
             <!-- <el-date-picker v-model="endDate" type="year" size="mini" value-format="yyyy" format="yyyy年"  :clearable="false" style="width: 96px;"
               @change="checkYear(endDate,'end')" placeholder="选择日期"> -->
-                <el-date-picker
+                <!-- <el-date-picker
                   v-model="endDate"
                   type="year"
                   value-format="yyyy"
                   @change="checkYear(endDate,'end')"
                   placeholder="选择年">
-                </el-date-picker>
+                </el-date-picker> -->
             <!-- </el-date-picker> -->
+          <!-- </div> -->
+          <div 
+            style="width: 12%;
+            height:2.825rem;
+            line-height: 2.825rem;
+            text-align:center;
+            float: left;
+            margin: -3% 0 0 3%;
+            color: #000 !important;" >
+            <el-date-picker
+              v-model="endDate"
+              type="year"
+              value-format="yyyy"
+              @change="checkYear(endDate,'end')"
+              placeholder="选择年">
+            </el-date-picker>
+            <!-- <el-button type="primary" size="mini" plain @click="selectAll">
+              查询
+            </el-button> -->
+            <!-- <el-date-picker
+              class="chooseMonth"
+              v-model="NowTime1"
+              type="month"
+              @change="changeTime1"
+              format="yyyy-MM" 
+              value-format="yyyy-MM"
+              placeholder="请选择时间">
+            </el-date-picker> -->
           </div>
 
           <div class="block">
-            <el-button type="primary" size="mini" plain @click="selectAll">
-              查询
-            </el-button>
+            
           </div>
 
-          <div class="goBackButton" @click.prevent="goBack()" >
+          <!-- <div class="goBackButton" @click.prevent="goBack()" >
             返回
+          </div> -->
+          <div 
+            @click.prevent="goBack()" 
+            style="width: 12%;
+            height:2.825rem;
+            line-height: 2.825rem;
+            text-align:center;
+            float: right;
+            margin: -3% 3% 0 0;" >
+            <dv-border-box-8>返回</dv-border-box-8>
           </div>
-
         </div>
-        <div class="ttitle">质量目标统计</div>
-        <div class="componentsData" v-if="relOf">
-            <s1zhiLiangMuBiao :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[1]" :data = "getS1renwu()"/>
-            <s1jianCe :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[5]" :data = "getS2jianCe()" />
-            <s2manYiDu :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[7]"  :data = "getS2manYiDu()"/>
-            <s3tousu :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[6]" :data = "getS3tousu()"/>
-            <s13shengWu :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[17]" :data = "getS3tousu()"/>
-            <!-- <s1zhiLiang1 :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[2]"    />
-            <s1zhiLiang2 :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[3]"   />
-            <s1zhiLiang3 :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[4]"  /> -->
-
-            
-            <!-- <s4renYuanPeiXun :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[8]" :data = "getS4renYuanPeiXun()"/> -->
+        <dv-border-box-7  backgroundColor="rgba(6, 30, 93, 0.5)" ><div class="ttitle">质量方针:公正、科学、准确、高效</div></dv-border-box-7>
+        <div class="congxiebox7" style="display: flex;justify-content: space-between;padding: 1.5% 0.2%;">
+          <div class="gongshiAll" style="width:16.4%">
+            <div class="touwidth">任务完成率=</div>
+            <div style="margin: 0 0.2%;">
+              <div class="gongshiXian">完成检测项目数量</div>
+              <div style="text-align:center;font-size:12px;padding-top: 6%;">有效检测任务总数</div>
+            </div>
+            <div>×100%</div>
+          </div>
+          <div class="gongshiAll" style="width:21.4%">
+            <div class="touwidth">检测报告差错率=</div>
+            <div style="margin: 0 0.2%;">
+              <div class="gongshiXian">统计期内检测数据的差错次数</div>
+              <div style="text-align:center;font-size:12px;padding-top: 6%;">统计期内检测报告总数</div>
+            </div>
+            <div>×100%</div>
+          </div>
+          <div class="gongshiAll" style="width:17.4%">
+            <div class="touwidth">客户满意度=</div>
+            <div style="margin: 0 0.2%;">
+              <div class="gongshiXian">评分得分*有效问卷数量</div>
+              <div style="text-align:center;font-size:12px;padding-top: 6%;">有效问卷总分</div>
+            </div>
+            <div>×100%</div>
+          </div>
+          <div class="gongshiAll" style="width:17.4%">
+            <div class="touwidth">投诉率=</div>
+            <div style="margin: 0 0.2%;">
+              <div class="gongshiXian">统计期内有效投诉项目数</div>
+              <div style="text-align:center;font-size:12px;padding-top: 6%;">统计期内检测项目总数</div>
+            </div>
+            <div>×100%</div>
+          </div>
+          <div class="gongshiAll" style="width:27.4%">
+            <div class="touwidth">投诉回复及时率=</div>
+            <div style="margin: 0 0.2%;">
+              <div class="gongshiXian">统计期内被投诉后48h内达成一致解决方案次数</div>
+              <div style="text-align:center;font-size:12px;padding-top: 6%;">统计期内被有效投诉总次数</div>
+            </div>
+            <div>×100%</div>
+          </div>
+        </div>
+        <div class="congxiebox7">
+          <div class="ttitle" style="text-align: center;">质量目标统计</div>
+          <div class="componentsData" v-if="relOf">
+              <s1zhiLiangMuBiao :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[1]" :data = "getS1renwu()"/>
+              <s1jianCe :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[5]" :data = "getS2jianCe()" />
+              <s2manYiDu :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[7]"  :data = "getS2manYiDu()"/>
+              <s3tousu :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[6]" :data = "getS3tousu()"/>
+              <s13shengWu :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[17]" :data = "getS3tousu()"/>
+              <div class="clear"></div>
+          </div>
+        </div>
+        <div class="congxiebox7" style="display:inline-block;width:49%">
+          <div class="ttitle" style="margin:2% 0;text-align: center;">人员培训与管理</div>
+          <div class="componentsData" v-if="relOf">
+              <s4renYuanPeiXun :width="static=='row' ? '50%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[8]" :data = "getS4renYuanPeiXun()"/>
+              <s5renYuanJianDu :width="static=='row' ? '50%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[9]" :data = "getS5renYuanJianDu()"/>
+              <!-- <div class="clear"></div> -->
 
-            <!-- <none :width="static=='row' ? '20%': '100%'"
-            /> -->
-            <!-- <s6sheBeiWeiHu :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[10]" :data = "getS6sheBeiWeiHu()"/> -->
-            <!-- <s7sheBeiJiaoZhun :width="'50%'"
-            v-if="showAll || showComponents[12]" :data = "getJiaoYanObjNum()"/>
-            <s8sheBeiHeCha :width="'50%'"
-            v-if="showAll || showComponents[11]" :data = "gethechaObjNum()"/> -->
-            <!-- <s10waiBuNengLi :width="'50%'"
-            v-if="showAll || showComponents[14]" :data = "getnengtliObjNum()"/> -->
-            <!-- <s11biaoZhunWu :width="'50%'"
-            v-if="showAll || showComponents[15]" :data = "getbiaozhunObjNum()"/> -->
-            <!-- <s5renYuanJianDu :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[9]" :data = "getS5renYuanJianDu()"/> -->
-            <!-- <s9neiBuZhiLiang :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[13]" :data = "getS9neiBuZhiLiang()"/> -->
-            <!-- <s12fengXian :width="static=='row' ? '20%': '100%'"
-            v-if="showAll || showComponents[13]" :data = "getS12fengXian()"/> -->
-            <div class="clear"></div>
+          </div>
         </div>
-        <div class="ttitle">人员培训与管理</div>
-        <div class="componentsData" v-if="relOf">
-            <s4renYuanPeiXun :width="static=='row' ? '25%': '100%'"
-            v-if="showAll || showComponents[8]" :data = "getS4renYuanPeiXun()"/>
-            <s5renYuanJianDu :width="static=='row' ? '25%': '100%'"
-            v-if="showAll || showComponents[9]" :data = "getS5renYuanJianDu()"/>
-            <div class="clear"></div>
+        <div class="congxiebox7" style="display:inline-block;width:49%;float:right;">
+          <div class="ttitle" style="margin:2% 0;text-align: center;">设备维保</div>
+          <div class="componentsData" v-if="relOf">
+              <s7sheBeiJiaoZhun :width="static=='row' ? '50%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[12]" :data = "getJiaoYanObjNum()"/>
+              <s8sheBeiHeCha :width="static=='row' ? '50%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[11]" :data = "gethechaObjNum()"/>
+              <!-- <div class="clear"></div> -->
 
+          </div>
         </div>
-        <div class="ttitle">设备维保</div>
-        <div class="componentsData" v-if="relOf">
-            <s7sheBeiJiaoZhun :width="static=='row' ? '33%': '100%'"
-            v-if="showAll || showComponents[12]" :data = "getJiaoYanObjNum()"/>
-            <s8sheBeiHeCha :width="static=='row' ? '33%': '100%'"
-            v-if="showAll || showComponents[11]" :data = "gethechaObjNum()"/>
-            <s11biaoZhunWu :width="static=='row' ? '33%': '100%'"
-            v-if="showAll || showComponents[15]" :data = "getbiaozhunObjNum()"/>
-            <s16bzJunZhu :width="static=='row' ? '33%': '100%'"
-            v-if="showAll || showComponents[20]" :data = "getbzJunZhujNum()"/>
-            <s17bzXiBao :width="static=='row' ? '33%': '100%'"
-            v-if="showAll || showComponents[21]" :data = "getbzXiBaoObjNum()"/>
-            <div class="clear"></div>
+        <div class="congxiebox7" >
 
+          <div class="ttitle" style="text-align: center;">标准物质</div>
+          <div class="componentsData" v-if="relOf">
+              <s11biaoZhunWu :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[15]" :data = "getbiaozhunObjNum()"/>
+              <s16bzJunZhu :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[20]" :data = "getbzJunZhujNum()"/>
+              <s17bzXiBao :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[21]" :data = "getbzXiBaoObjNum()"/>
+              <div class="clear"></div>
+          </div>
         </div>
-        <div class="ttitle">质量控制</div>
-        <div class="componentsData" v-if="relOf">
-            <s9neiBuZhiLiang :width="static=='row' ? '25%': '100%'"
-            v-if="showAll || showComponents[13]" :data = "getS9neiBuZhiLiang()"/>
-            <s10waiBuNengLi :width="static=='row' ? '25%': '100%'"
-            v-if="showAll || showComponents[14]" :data = "getnengtliObjNum()"/>
-            <s14bufuhexiang :width="static=='row' ? '25%': '100%'"
-            v-if="showAll || showComponents[18]" :data = "getS14bufuhexiang()"/>
-            <s15tousu :width="static=='row' ? '25%': '100%'"
-            v-if="showAll || showComponents[19]" :data = "getS3tousu()"/>
-            <div class="clear"></div>
+        <div class="congxiebox7" >
+
+        <div class="ttitle" style="text-align: center;">质量管理</div>
+          <div class="componentsData" v-if="relOf">
+              <s9neiBuZhiLiang :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[13]" :data = "getS9neiBuZhiLiang()"/>
+              <s10waiBuNengLi :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[14]" :data = "getnengtliObjNum()"/>
+              <s14bufuhexiang :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[18]" :data = "getS14bufuhexiang()"/>
+              <s15tousu :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[19]" :data = "getS3tousu()"/>
+              <s12fengXian :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
+              v-if="showAll || showComponents[16]" :data = "getS12fengXian()"/>
+              <div class="clear"></div>
 
+          </div>
         </div>
-        <div class="ttitle">风险控制</div>
+        <!-- <div class="ttitle">风险控制</div>
         <div class="componentsData" v-if="relOf">
             <s12fengXian :width="static=='row' ? '25%': '100%'"
             v-if="showAll || showComponents[16]" :data = "getS12fengXian()"/>
             <div class="clear"></div>
 
-        </div>
+        </div> -->
        
 
 
@@ -137,7 +206,7 @@
   //全屏展示
   import screenfull from 'screenfull'
   //大屏标题组件
-  // import headerDecoration from './headerDecoration'
+  import headerDecoration from './headerDecoration'
 
   import s1zhiLiangMuBiao from './item/s1zhiLiangMuBiao.vue'
   import s1zhiLiang1 from './item/s1zhiLiang1.vue'
@@ -170,7 +239,7 @@
   import repostCurd from '@/business/platform/form/utils/custom/joinCURD.js'
   export default {
     components:{
-      // headerDecoration,
+      headerDecoration,
       none,
       s1zhiLiang1,
       s1zhiLiang2,
@@ -241,7 +310,8 @@
         showAll:true,
         timer: '',
         showComponents:{},//显示全部统计子组件 , 若有新增,往后累计。 供动态表单进行查阅使用。
-        dataScope: []
+        dataScope: [],
+        colorw: '#fff'
       }
     },
      beforeDestroy() {
@@ -354,7 +424,7 @@
           // this.selectEnd = this.endDate
           // this.selectBeg = this.BeginDate
           /* 延迟刷新*/
-
+          // console.log('111111fffff')
           this.relOf = true;
           this.timer = setTimeout(() => {
             this.relOf = false
@@ -404,8 +474,9 @@
             message: '年份不得大于当前年份',
             type: 'warning'
           });
-          this.selectAll()
+          
         }
+        this.selectAll()
         // else(
         //   this.endDate = Number(year)
         // )
@@ -442,7 +513,9 @@
 </script>
 <style lang="scss">
   .statistics {
+    color: #fff;
     .editDate{
+      display: contents;
       overflow: hidden;
       background-color:rgb(249, 255, 255);
       position: relative;
@@ -454,12 +527,12 @@
      }
   }
   #dv-full-screen-container {
-    // background-image: url('./img/stars.png');
-    // background-size: 100% 100%;
-    // box-shadow: 0 0 3px blue;bete
-    // display: flex;
-    // flex-direction: column;
-    background-color: #f9ffff;
+    background-image: url('./img/stars.png');
+    background-size: 100% 100%;
+    box-shadow: 0 0 3px blue;
+    display: flex;
+    flex-direction: column;
+    // background-color: #f9ffff;
     display: flex;
     flex-direction:column;
     align-items: stretch;
@@ -494,8 +567,32 @@
   }
   .screen{
     height: 100%;
+    
+    margin: 0 0.5%;
   }
   .clear{ clear: both; }
+  .congxiebox7{
+    background-color: rgba(6, 30, 93, 0.5);
+    box-shadow: rgb(128 128 128 / 30%) 0px 0px 40px inset;
+    border: 1px solid rgba(128, 128, 128, 0.3);
+    margin: 1% 0 0 0 ;
+  }
+  .gongshiAll{
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    // width: 20%;
+    .touwidth{
+      width: 30%;
+      text-align:right;
+    }
+    .gongshiXian{
+      border-bottom: #fff solid 2px;
+      padding-bottom: 6%;
+      text-align:center;
+      font-size: 12px;
+    }
+  }
 </style>
 <style lang="scss">
 .el-year-table .today .cell {

+ 19 - 17
src/views/statistics/indexold.vue

@@ -39,15 +39,15 @@
         </div>
         <!-- <div class="ttitle">质量目标统计</div> -->
         <div class="componentsData" v-if="relOf">
-            <s1zhiLiangMuBiao :width="static=='row' ? '20%': '100%'"
+            <s1zhiLiangMuBiao :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[1]" :data = "getS1renwu()"/>
-            <s1jianCe :width="static=='row' ? '20%': '100%'"
+            <s1jianCe :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[5]" :data = "getS2jianCe()" />
-            <s2manYiDu :width="static=='row' ? '20%': '100%'"
+            <s2manYiDu :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[7]"  :data = "getS2manYiDu()"/>
-            <s3tousu :width="static=='row' ? '20%': '100%'"
+            <s3tousu :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[6]" :data = "getS3tousu()"/>
-            <s13shengWu :width="static=='row' ? '20%': '100%'"
+            <s13shengWu :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[17]" :data = "getS3tousu()"/>
             <!-- <s1zhiLiang1 :width="static=='row' ? '20%': '100%'"
             v-if="showAll || showComponents[2]"    />
@@ -82,42 +82,42 @@
         </div>
         <div class="ttitle">人员培训与管理</div>
         <div class="componentsData" v-if="relOf"> -->
-            <s4renYuanPeiXun :width="static=='row' ? '25%': '100%'"
+            <s4renYuanPeiXun :width="static=='row' ? '25%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[8]" :data = "getS4renYuanPeiXun()"/>
-            <s5renYuanJianDu :width="static=='row' ? '25%': '100%'"
+            <s5renYuanJianDu :width="static=='row' ? '25%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[9]" :data = "getS5renYuanJianDu()"/>
             <!-- <div class="clear"></div>
 
         </div>
         <div class="ttitle">设备维保</div>
         <div class="componentsData" v-if="relOf"> -->
-            <s7sheBeiJiaoZhun :width="static=='row' ? '33%': '100%'"
+            <s7sheBeiJiaoZhun :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[12]" :data = "getJiaoYanObjNum()"/>
-            <s8sheBeiHeCha :width="static=='row' ? '33%': '100%'"
+            <s8sheBeiHeCha :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[11]" :data = "gethechaObjNum()"/>
-            <s11biaoZhunWu :width="static=='row' ? '33%': '100%'"
+            <s11biaoZhunWu :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[15]" :data = "getbiaozhunObjNum()"/>
-            <s16bzJunZhu :width="static=='row' ? '33%': '100%'"
+            <s16bzJunZhu :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[20]" :data = "getbzJunZhujNum()"/>
-            <s17bzXiBao :width="static=='row' ? '33%': '100%'"
+            <s17bzXiBao :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[21]" :data = "getbzXiBaoObjNum()"/>
             <!-- <div class="clear"></div>
 
         </div>
         <div class="ttitle">质量控制</div>
         <div class="componentsData" v-if="relOf"> -->
-            <s9neiBuZhiLiang :width="static=='row' ? '25%': '100%'"
+            <s9neiBuZhiLiang :width="static=='row' ? '25%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[13]" :data = "getS9neiBuZhiLiang()"/>
-            <s10waiBuNengLi :width="static=='row' ? '25%': '100%'"
+            <s10waiBuNengLi :width="static=='row' ? '25%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[14]" :data = "getnengtliObjNum()"/>
-            <s14bufuhexiang :width="static=='row' ? '25%': '100%'"
+            <s14bufuhexiang :width="static=='row' ? '25%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[18]" :data = "getS14bufuhexiang()"/>
             <!-- <div class="clear"></div>
 
         </div>
         <div class="ttitle">风险控制</div>
         <div class="componentsData" v-if="relOf"> -->
-            <s12fengXian :width="static=='row' ? '25%': '100%'"
+            <s12fengXian :width="static=='row' ? '25%': '100%'" :colorw = "colorw"
             v-if="showAll || showComponents[16]" :data = "getS12fengXian()"/>
             <div class="clear"></div>
 
@@ -239,7 +239,9 @@
         showAll:true,
         timer: '',
         showComponents:{},//显示全部统计子组件 , 若有新增,往后累计。 供动态表单进行查阅使用。
-        dataScope: []
+        dataScope: [],
+        colorw: '#000'
+
       }
     },
      beforeDestroy() {

+ 5 - 1
src/views/statistics/item/s10waiBuNengLi.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -90,7 +94,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 19 - 16
src/views/statistics/item/s10waiBuNengLiCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -86,7 +90,7 @@
            //v3
           title: {
             text: this.title,
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
 
             // subtext: this.data.Num.date+"年"
           },
@@ -122,21 +126,20 @@
                 interval: 0,
                 // rotate: '50', // 旋转50°
                 lineHeight: 18,
-                // formatter: function(params) {
-                //   //  console.log('formatter', params, params.length)
-                //   var newParamsName = ''// 最终拼接成的字符串
-                //   var paramsNameNumber = params.length// 实际标签的个数
-                //   var provideNumber = 3// 每行能显示的字的个数
-                //   // 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
-                //   if (paramsNameNumber > provideNumber) {
-                //   // ********重点在这里********
-                //     newParamsName = params.substring(0, 3) + '..'// 最终拼成的字符串
-                //   } else { // 将旧标签的值赋给新标签
-                //     newParamsName = params
-                //   }
-                //   // 将最终的字符串返回
-                //   return newParamsName
-                // }
+                formatter: function(params) {
+                  //  console.log('formatter', params, params.length)
+                  var newParamsName = ''// 最终拼接成的字符串
+                  var paramsNameNumber = params.length// 实际标签的个数
+                  var provideNumber = 8// 每行能显示的字的个数
+                  // 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
+                  if (paramsNameNumber > provideNumber) {
+                    newParamsName = params.substring(0, 8) + '..'// 最终拼成的字符串
+                  } else { // 将旧标签的值赋给新标签
+                    newParamsName = params
+                  }
+                  // 将最终的字符串返回
+                  return newParamsName
+                }
               },
           },
           series: [

+ 5 - 1
src/views/statistics/item/s11biaoZhunWu.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -89,7 +93,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 5 - 1
src/views/statistics/item/s11biaoZhunWuCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -136,7 +140,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 5 - 1
src/views/statistics/item/s11biaoZhunWuCol2.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -86,7 +90,7 @@
            //v3
           title: {
             text: this.title,
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
 
             // subtext: this.data.Num.date+"年"
           },

+ 6 - 1
src/views/statistics/item/s12fengXian.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -81,11 +85,12 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'
           },
+          color:['#99CCFF','#33FF33'],
           series: [
             {
               type: 'pie',

+ 5 - 1
src/views/statistics/item/s12fengXianCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -138,7 +142,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             }

+ 6 - 1
src/views/statistics/item/s13shengWu.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -81,11 +85,12 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'
           },
+          color:['#9966CC','#FFFF33'],
           series: [
             {
               type: 'pie',

+ 5 - 1
src/views/statistics/item/s13shengWuCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -148,7 +152,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 5 - 1
src/views/statistics/item/s14bufuhexiang.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -81,7 +85,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 5 - 1
src/views/statistics/item/s14bufuhexiangCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -138,7 +142,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             }

+ 5 - 1
src/views/statistics/item/s15tousu.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -90,7 +94,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 5 - 1
src/views/statistics/item/s15tousuCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -153,7 +157,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 5 - 1
src/views/statistics/item/s16bzJunZhu.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -89,7 +93,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 5 - 1
src/views/statistics/item/s16bzJunZhuCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -136,7 +140,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 5 - 1
src/views/statistics/item/s16bzJunZhuCol2.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -86,7 +90,7 @@
            //v3
           title: {
             text: this.title,
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
 
             // subtext: this.data.Num.date+"年"
           },

+ 5 - 1
src/views/statistics/item/s17bzXiBao.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -89,7 +93,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 5 - 1
src/views/statistics/item/s17bzXiBaoCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -136,7 +140,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 5 - 1
src/views/statistics/item/s17bzXiBaoCol2.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -86,7 +90,7 @@
            //v3
           title: {
             text: this.title,
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
 
             // subtext: this.data.Num.date+"年"
           },

+ 6 - 1
src/views/statistics/item/s1jianCe.vue

@@ -42,6 +42,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -90,11 +94,12 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'
           },
+          color:['#ffcc00','#33FFFF'],
           series: [
             {
               type: 'pie',

+ 5 - 1
src/views/statistics/item/s1jianCeColumnar.vue

@@ -42,6 +42,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -151,7 +155,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
               // subtext: "        "+beingDate+"-"+endDate
             },
         //v1

+ 5 - 1
src/views/statistics/item/s1zhiLiangMuBiao.vue

@@ -43,6 +43,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -83,7 +87,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 5 - 1
src/views/statistics/item/s1zhiLiangMuBiaoCol.vue

@@ -43,6 +43,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -257,7 +261,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 6 - 2
src/views/statistics/item/s2manYiDu.vue

@@ -43,6 +43,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -97,12 +101,12 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'
           },
-          color:['#00ccff','#cc3333'],
+          color:['#009933','#99FF66'],
           series: [
             {
               type: 'pie',

+ 5 - 1
src/views/statistics/item/s2manYiDuPro.vue

@@ -43,6 +43,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -190,7 +194,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
               // subtext: "        "+beingDate+"-"+endDate
             },
         //v1

+ 5 - 1
src/views/statistics/item/s3tousu.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -90,7 +94,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 5 - 2
src/views/statistics/item/s3tousuCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -153,8 +157,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
-
+              textStyle:{ fontSize:14,color: this.colorw }
               // subtext: "        "+beingDate+"-"+endDate
             },
           //v2

+ 6 - 2
src/views/statistics/item/s4renYuanPeiXun.vue

@@ -42,6 +42,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -75,12 +79,12 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'
           },
-          color:['#cccc00','#ff6633'],
+          color:['#CC9999','#CCFF66'],
           series: [
             {
               type: 'pie',

+ 5 - 1
src/views/statistics/item/s4renYuanPeiXunCol.vue

@@ -42,6 +42,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -156,7 +160,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 6 - 2
src/views/statistics/item/s5renYuanJianDu.vue

@@ -42,6 +42,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -74,12 +78,12 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'
           },
-          color:['#cccc00','#ff6633'],
+          color:['#cccc00','#FF33FF'],
           series: [
             {
               type: 'pie',

+ 5 - 1
src/views/statistics/item/s5renYuanJianDuCol.vue

@@ -42,6 +42,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -240,7 +244,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 5 - 1
src/views/statistics/item/s7sheBeiJiaoZhun.vue

@@ -42,6 +42,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -96,7 +100,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 5 - 1
src/views/statistics/item/s7sheBeiJiaoZhunCol.vue

@@ -42,6 +42,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -140,7 +144,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 5 - 1
src/views/statistics/item/s7sheBeiJiaoZhunCol2.vue

@@ -42,6 +42,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -92,7 +96,7 @@
           //v3
           title: {
             text: this.title,
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
 
             // subtext: this.data.t_mjsbjdxzjhzbNum.date+"年校准次数"
           },

+ 5 - 1
src/views/statistics/item/s8sheBeiHeCha.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -89,7 +93,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 5 - 1
src/views/statistics/item/s8sheBeiHeChaCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -135,7 +139,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 5 - 1
src/views/statistics/item/s8sheBeiHeChaCol2.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -87,7 +91,7 @@
            //v3
           title: {
             text: this.title,
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
 
             // subtext: this.data.t_sbhcjlbNum.date+"年核查次数"
           },

+ 5 - 1
src/views/statistics/item/s9neiBuZhiLiang.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -80,7 +84,7 @@
             text: this.title,
             // subtext: 'Fake Data',
             left: 'left',
-            textStyle:{ fontSize:14 }
+            textStyle:{ fontSize:14,color: this.colorw }
           },
           tooltip: {
             trigger: 'item'

+ 5 - 1
src/views/statistics/item/s9neiBuZhiLiangCol.vue

@@ -41,6 +41,10 @@
         type:String,
         default:'true'
       },
+      colorw:{
+        type:String,
+        default:'true'
+      }
     },
     data () {
       return {
@@ -84,7 +88,7 @@
             },
             title: {
               text: this.title,
-              textStyle:{ fontSize:14 }
+              textStyle:{ fontSize:14,color: this.colorw }
 
               // subtext: "        "+beingDate+"-"+endDate
             },

+ 1 - 1
src/views/statistics/js/selectDB.js

@@ -7,7 +7,7 @@ export const getConfig = (begin,end)=>{
 }
 export const getJiaoYanObj = (end)=>{
   // return "select a.t_mjsbjdxzjhzbName,a.t_mjsbjdxzjhzb,b.t_mjsbjdxzjhzbS FROM (select she_bei_ming_chen as t_mjsbjdxzjhzbName, COUNT(she_bei_ming_chen) as t_mjsbjdxzjhzb from t_mjsbjdxzjhzb where YEAR(create_time_)='2022' GROUP BY she_bei_ming_chen HAVING COUNT(she_bei_ming_chen)>=1) as a left join  (select she_bei_ming_chen, COUNT(she_bei_ming_chen) as t_mjsbjdxzjhzbS from t_mjsbjdxzjhzb where YEAR(create_time_)= '2022' AND DATE(yi_jian_xiao_ri_q) >= DATE(ji_hua_ri_qi_) GROUP BY she_bei_ming_chen HAVING COUNT(she_bei_ming_chen)>=1 )as b on a.t_mjsbjdxzjhzbName=b.she_bei_ming_chen"
-  return "select a.t_mjsbjdxzjhzbZhName, a.t_mjsbjdxzjhzbName,a.t_mjsbjdxzjhzb,ifnull(b.t_mjsbjdxzjhzbS,0) as t_mjsbjdxzjhzbS FROM (select she_bei_bian_hao_ as t_mjsbjdxzjhzbZhName, she_bei_ming_chen as t_mjsbjdxzjhzbName, COUNT(she_bei_ming_chen) as t_mjsbjdxzjhzb from t_mjsbjdxzjhzb where YEAR(create_time_)="+end+" GROUP BY she_bei_ming_chen HAVING COUNT(she_bei_ming_chen)>=1) as a left join  (select she_bei_ming_chen, COUNT(she_bei_ming_chen) as t_mjsbjdxzjhzbS from t_mjsbjdxzjhzb where YEAR(create_time_)= "+end+" AND DATE(yi_jian_xiao_ri_q) >= DATE(ji_hua_ri_qi_) GROUP BY she_bei_ming_chen HAVING COUNT(she_bei_ming_chen)>=1 )as b on a.t_mjsbjdxzjhzbName=b.she_bei_ming_chen"
+  return "select a.t_mjsbjdxzjhzbZhName, a.t_mjsbjdxzjhzbName,a.t_mjsbjdxzjhzb,ifnull(b.t_mjsbjdxzjhzbS,0) as t_mjsbjdxzjhzbS FROM (select t_sbdj.she_bei_shi_bie_h as t_mjsbjdxzjhzbZhName, t_mjsbjdxzjhzb.she_bei_ming_chen as t_mjsbjdxzjhzbName, COUNT(t_mjsbjdxzjhzb.she_bei_ming_chen) as t_mjsbjdxzjhzb from t_mjsbjdxzjhzb LEFT JOIN t_sbdj on t_mjsbjdxzjhzb.she_bei_bian_hao_ = t_sbdj.id_ where YEAR(t_mjsbjdxzjhzb.create_time_)="+end+" GROUP BY t_mjsbjdxzjhzb.she_bei_ming_chen HAVING COUNT(t_mjsbjdxzjhzb.she_bei_ming_chen)>=1) as a left join  (select she_bei_ming_chen, COUNT(she_bei_ming_chen) as t_mjsbjdxzjhzbS from t_mjsbjdxzjhzb where YEAR(create_time_)= "+end+" AND DATE(yi_jian_xiao_ri_q) >= DATE(ji_hua_ri_qi_) GROUP BY she_bei_ming_chen HAVING COUNT(she_bei_ming_chen)>=1 )as b on a.t_mjsbjdxzjhzbName=b.she_bei_ming_chen"
 }
 export const gethechaObj = (end)=>{
   // return "select a.t_mjsbjdxzjhzbName,a.t_mjsbjdxzjhzb,b.t_mjsbjdxzjhzbS FROM (select she_bei_ming_chen as t_mjsbjdxzjhzbName, COUNT(she_bei_ming_chen) as t_mjsbjdxzjhzb from t_mjsbjdxzjhzb where YEAR(create_time_)='2022' GROUP BY she_bei_ming_chen HAVING COUNT(she_bei_ming_chen)>=1) as a left join  (select she_bei_ming_chen, COUNT(she_bei_ming_chen) as t_mjsbjdxzjhzbS from t_mjsbjdxzjhzb where YEAR(create_time_)= '2022' AND DATE(yi_jian_xiao_ri_q) >= DATE(ji_hua_ri_qi_) GROUP BY she_bei_ming_chen HAVING COUNT(she_bei_ming_chen)>=1 )as b on a.t_mjsbjdxzjhzbName=b.she_bei_ming_chen"

+ 2 - 2
src/views/statistics/properties/s12fengXianPro.vue

@@ -22,14 +22,14 @@
             :data="data"
             width="50%"
             :height="height"
-            id="s5renYuanJianDuPro"
+            id="s12fengXianPro"
             click="false"
           />
           <s12fengXianCItem
             :data="data"
             width="50%"
             :height="height"
-            id="s5renYuanJianDuCPro"
+            id="s12fengXianCPro"
             click="false"
           />
       </el-aside>

+ 2 - 2
src/views/statistics/sendDatas.js

@@ -180,9 +180,9 @@ export default {
                                         // e.push(num)
                                         let nameMid = that.nengliObj[i].enname.split("—")
                                         if(nameMid.length===2){
-                                                name.push(nameMid[1]+that.nengliObj[i].zhname)
+                                                name.push(nameMid[1])
                                         }else{
-                                                name.push(nameMid[0]+that.nengliObj[i].zhname)
+                                                name.push(nameMid[0])
                                         }
 
                         }

+ 1 - 1
src/views/system/jbdHome/board/component/CarouselTabl.vue

@@ -1,6 +1,6 @@
 <template>
   <div style="width: 100%;height: 100%;overflow: hidden;">
-    <div class="title" style="vertical-align: top; height: 10%;font-size: 16px;color: white;">{{ title }}</div>
+    <div class="title" style="vertical-align: top; height: 10%;font-size: 16px;">{{ title }}</div>
     <div style="width:100%;height: 90%;display: inline-block;background-color: #06163f;">
       <dv-scroll-board :config="info" style="width:100%;height:100%" />
     </div>

+ 1 - 1
src/views/system/jbdHome/board/component/equipmentBoardTopcard.vue

@@ -7,7 +7,7 @@
           <div v-for="(v, i) in item.children" :key="i" class="box1" >
             <div class="label" style="text-align: center; ">{{ v.label }}</div>
             <div class="count" style="display: flex;justify-content: center;">
-              <div v-if=" v.label.includes('计划')||v.label.includes('申请')" :style="{color:'#9966FF'}" style="font-weight:bold;font-size: 27px;">{{ v.value}}</div>
+              <div v-if=" v.label.includes('计划')||v.label.includes('申请')" :style="{color:'#9966FF'}" style="font-weight:bold;font-size: 27px;">{{v.value}}</div>
               <div v-else-if="v.label.includes('报废/停用')" :style="{color:'#FF0066'}" style="font-weight:bold;font-size: 27px;">{{v.value}}</div>
               <div v-else-if="v.label.includes('受限')" :style="{color:'#CCFF33'}" style="font-weight:bold;font-size: 27px;">{{v.value}}</div>
               <div v-else-if="v.label.includes('已')||v.label.includes('完成')||v.label.includes('正常')||v.label.includes('率')" :style="{color:'#00b56a'}" style="font-weight:bold;font-size: 27px;">{{v.value}}</div>

+ 2 - 2
src/views/system/jbdHome/board/component/getPieView.vue

@@ -25,6 +25,7 @@ export default {
     this.$nextTick(()=>{
       this_.getMiddleLeft();
     })
+    
   },
   methods:{
     getMiddleLeft(){ 
@@ -86,8 +87,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 .pieView{
-  // display: flex;
-  color: white;
+  display: flex;
   width: 100%;
   height: 100%;
   overflow: hidden;

+ 16 - 27
src/views/system/jbdHome/board/component/zhuzhuangtu.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="pieView">
     <div style="height: 10%;line-height: 30px;text-align: left;padding-left: 10px;width: 100%;">{{info.config.title}}</div>   
-    <div style="width:100%;height:90%;display: inline-block;">
+    <div style="width:100%;height:90%;display: inline-block;overflow: hidden;box-sizing: border-box;">
       <div :id="info.config.idSelector" style="width:100%;height:100%;"> </div>
     </div>
   </div>
@@ -11,9 +11,7 @@
 import * as echarts from "echarts";
 export default {
   data() {
-    return {
-      yAxisNum:1,
-    };
+    return {};
   },
   props: {
     info: {
@@ -21,28 +19,16 @@ export default {
       default: {},
     },
   },
-  mounted() {
-    let this_ = this;
-    this.$nextTick(()=>{
-      this_.getMiddleLeft();
-    })
-    
-  },
   methods: {
     getMiddleLeft() {
       var chartDom = document.getElementById(this.info.config.idSelector);
       var myChart = echarts.init(chartDom);
-      // const setEchartWH = {
-      //   //设置控制图表大小变量
-      //   width: 250,
-      //   height: 300,
-      // };
-      let ay =this.info.data;
-      let yc;
-      ay[0] > ay[1]?yc=ay[0]:yc=ay[1];
-      this.yAxisNum =parseInt(yc / 6) ;
-      this.yAxisNum ==0? this.yAxisNum =1:'';
-      var myChart = echarts.init(chartDom);
+      const setEchartWH = {
+        //设置控制图表大小变量
+        width: 250,
+        height: 300,
+      };
+      var myChart = echarts.init(chartDom, null, setEchartWH);
       var option;
       option = {
         tooltip: {
@@ -61,13 +47,14 @@ export default {
           {
             type: "category",
             data: this.info.xData,
-            interval: 2,
+            interval: 1,
             axisTick: {
               alignWithLabel: false,
             },
             axisLabel: {
+              // rotate: -1,
+              // margin: 0,
               fontSize: 12,
-              rotate: 25,
               formatter:function(value){  
                 var str = ""; 
                 var num = 6; //每行显示字数 
@@ -106,7 +93,7 @@ export default {
               color: "#fff"
             }
           },
-          interval:15
+          interval:1
         },
         ],
         series: [
@@ -122,7 +109,7 @@ export default {
             itemStyle: {
             normal: {
                 color: function(params) {
-                    var colorList = ['#5c7bd9', '#9fe080', '#339933', '#ffdc60','#f9210b', '#ff915a'];
+                    var colorList = ['#5c7bd9', '#9fe080', '#ffdc60', '#ff7070','#7ed3f4', '#ff915a'];
                     return colorList[params.dataIndex]
                 }
             }
@@ -131,7 +118,7 @@ export default {
           
         ],
       };
-      myChart.setOption(option);
+      option && myChart.setOption(option);
     },
   },
 };
@@ -141,6 +128,8 @@ export default {
   display: flex;
   width: 100%;
   height: 100%;
+  box-sizing: border-box;
+  overflow: hidden;
   background-color: rgba(6,30,93,.5);
 }
 </style>

+ 4 - 28
src/views/system/jbdHome/board/equipmentBoard.vue

@@ -42,11 +42,7 @@
         </div>
         <dv-decoration-10 style="height:2%;display:flex;" />
         <div class="bottomCard">
-          <div style="width:24%">
-            <zhuzhuangtu v-if="sheBeiData.data.length" :info="sheBeiData" ref="sheBeiDataDataref" />
-          </div>
-          <dv-decoration-2 :reverse="true" style="width:1%;height:100%;overflow: hidden;box-sizing: border-box;" />
-          <div style="width:25%;height: 100%;overflow: hidden;box-sizing: border-box;display:flex;">
+          <div style="width:32%;height: 100%;overflow: hidden;box-sizing: border-box;display:flex;">
             <div class="bottomCardLeft0">
               <middleCard v-if="weiHuSheBeiData.data.length" :info="weiHuSheBeiData" ref="sheBeiWeiHuRef" />
             </div>
@@ -56,7 +52,7 @@
             </div> -->
           </div>
           <dv-decoration-2 :reverse="true" style="width:1%;height:100%;overflow: hidden;box-sizing: border-box;" />
-          <div style="width:25%;display:flex;">
+          <div style="width:34%;display:flex;">
             <!-- <div style="width:40%">
               <zhuzhuangtu v-if="zhuantaiEData.data.length" :info="zhuantaiEData" ref="zhuantaiEDataref" />
             </div> -->
@@ -66,7 +62,7 @@
             </div>
           </div>
           <dv-decoration-2 :reverse="true" style="width:1%;height:100%;overflow: hidden;box-sizing: border-box;" />
-          <div style="width:24%;overflow: hidden;box-sizing: border-box;display:flex;">
+          <div style="width:32%;overflow: hidden;box-sizing: border-box;display:flex;">
             <div class="bottomCardLeft">
               <middleCard v-if="sheBeiHeChaData.data.length" :info="sheBeiHeChaData" ref="sheBeiHeChaRef"/>
             </div>
@@ -118,8 +114,6 @@ export default {
       },
       bottomData: {},
       zhuantaiEData: {},
-      sheBeiData: { xData: [], data: [], config: { idSelector: "" } },
-      sheBeiDataShow:false,
       sheBeiweiHuData: {},
       config: {},
       zichan: 0,
@@ -161,11 +155,9 @@ export default {
         rowNum: 6,
         color: [],
       };
-      this_.sheBeiDataShow = false;
       this.eBgRateData = { data: [], config: {} };
       this.sheBeiHeChaData = { data: [], config: {} };
       this.jianDingjiaoZhunSheBeiData = { data: [], config: {} };
-      this.sheBeiData={ xData: [], data: [], config: { idSelector: "" } };
       this.weiHuSheBeiData = { data: [], config: {} };
       this.bottomData = { xData: [], data: [], config: { idSelector: "" } };
       this.zhuantaiEData = { xData: [], data: [], config: { idSelector: "" } };
@@ -339,23 +331,6 @@ export default {
               ],
             },
           ];
-          //设备数量统计
-          this_.sheBeiData.xData = [
-            "设备总数",
-            "新增数",
-            "良好数",
-            "受限数",
-            "报废停用数",
-          ];
-          
-          this_.sheBeiData.data.push(data[0].Equipments);
-          this_.sheBeiData.data.push(data[0].addEquipments);
-          this_.sheBeiData.data.push(data[0].goodEquipments);
-          this_.sheBeiData.data.push(data[0].limitedEquipments);
-          this_.sheBeiData.data.push(data[0].scrapEquipments);
-          this_.sheBeiData.config.title = "设备数量情况一览";
-          this_.sheBeiData.config.idSelector = "main8";
-          this_.sheBeiDataShow = true;
           //
           this_.bottomData.xData = ["本月计划核查数", "本月已核查数"];
           this_.bottomData.data.push(data[0].checkNoEquipments);
@@ -458,6 +433,7 @@ export default {
       let this_ = this;
       // const sql = `select she_bei_ming_chen,she_bei_bian_hao_ ,create_time_,she_bei_zhuang_ku,COUNT(*) AS pinlv FROM t_mjsbsy GROUP BY she_bei_bian_hao_  HAVING create_time_ LIKE '${this.month}%' ORDER BY pinlv DESC`;
       const sql = `select a.she_bei_ming_chen ,a.create_time_,a.shi_yong_qian_qin,b.name_,c.cun_fang_di_dian_,COUNT(*) AS pinlv FROM  t_yqsbsydjb as a join ibps_party_employee as b on a.shi_yong_ren_ = b.ID_ join t_sbdj as c on a.yi_qi_bian_hao_ = c.id_ GROUP BY create_time_  HAVING create_time_ LIKE '${this.month}%' ORDER BY pinlv DESC`;
+      console.log(sql, "设备使用");
       let data1 = [];
       let res1 = [];
       this_.shiyonglvConfig.data = [];

+ 29 - 7
src/views/system/jbdHome/yangPinShuJu/EntrustNumber.vue

@@ -127,27 +127,32 @@ export default {
       // console.log('返回的全部数据 传日期到sql查询',this.NowTime,dayNum)
       //SELECT shou_yang_ri_qi_ FROM t_mjypdjb WHERE yan_shou_zhuang_t = '残缺'  AND shou_yang_ri_qi_ LIKE '2022-11%'   //不合格
       //SELECT liu_yang_ri_qi_,liu_yang_shu_lian FROM (SELECT * FROM t_mjypdjb WHERE  liu_yang_ri_qi_ ='' ) a WHERE   a.shi_fou_liu_yang_ != '否' AND shou_yang_ri_qi_ LIKE '2022-11%'  //留样
-      let sql1 = "select shou_yang_ri_qi_,yang_pin_shu_lian FROM t_lhypdjb WHERE YEAR(shou_yang_ri_qi_)='"+this.yearA+"' and MONTH(shou_yang_ri_qi_) = '"+this.monthA+"'"
+
+      let sql1 = "select a.shou_yang_ri_qi_, a.yang_pin_shu_lian FROM (select t_lhypdjb.* from t_lhypdjb LEFT JOIN t_lhwtsqb on t_lhypdjb.wei_tuo_dan_hao_ = t_lhwtsqb.wei_tuo_bian_hao_ where t_lhwtsqb.wei_tuo_lei_xing_ = '客户委托') as a WHERE YEAR(a.shou_yang_ri_qi_)='"+this.yearA+"' and MONTH(a.shou_yang_ri_qi_) = '"+this.monthA+"'"
+      let sql12 = "select a.shou_yang_ri_qi_, a.yang_pin_shu_lian FROM (select t_lhypdjb.* from t_lhypdjb LEFT JOIN t_lhwtsqb on t_lhypdjb.wei_tuo_dan_hao_ = t_lhwtsqb.wei_tuo_bian_hao_ where t_lhwtsqb.wei_tuo_lei_xing_ != '客户委托') as a WHERE YEAR(a.shou_yang_ri_qi_)='"+this.yearA+"' and MONTH(a.shou_yang_ri_qi_) = '"+this.monthA+"'"
       let sql2 ="select shou_yang_ri_qi_,yang_pin_shu_lian FROM t_lhypdjb WHERE yan_shou_jie_guo_ = '残缺'  AND shou_yang_ri_qi_ LIKE '"+this.NowTime+'%'+"'"
       let sql3 = "select liu_yang_ri_qi_,liu_yang_shu_lian FROM (SELECT * FROM t_lhypdjb ) a WHERE   a.shi_fou_liu_yang_ != '否' AND shou_yang_ri_qi_ LIKE '"+this.NowTime+'%'+"'"
       Promise.all([
         curdPost('sql', sql1),
+        curdPost('sql', sql12),
         curdPost('sql', sql2),
         curdPost('sql', sql3),
-      ]).then(([ res1, res2, res3]) => {
+      ]).then(([ res1, res12, res2, res3]) => {
         let data1 = res1.variables.data
+        let data12 = res12.variables.data
         let data2 = res2.variables.data
         let data3 = res3.variables.data
         // console.log('返回的全部数据',data1,data2)
         console.log('返回的全部数据',data1,data2,data3)
         const receivedData = this.dealingData(data1,dayNum)
+        const receivedData2 = this.dealingData(data12,dayNum)
         const unqualifiedData = this.dealingData(data2,dayNum)
         const retentionData = this.dealingRetentionData(data3,dayNum)
-        // console.log('xxxxxxxxx方法返回的数据1   -------',receivedData)
+        console.log('xxxxxxxxx方法返回的数据1   -------',receivedData2,sql1)
         // console.log('xxxxxxxxx方法返回的数据2   -------',unqualifiedData)
         // console.log('xxxxxxxxx方法返回的数据3   -------',retentionData)
         //三组数据处理完毕之后,传给图表进行渲染  (月份天数数组,已收样,不合格,留样)
-        this.entrustNumberInit(this.days,receivedData,unqualifiedData,retentionData)
+        this.entrustNumberInit(this.days,receivedData,receivedData2,unqualifiedData,retentionData)
       })
     },
     //处理sql查询出来的数据
@@ -171,6 +176,7 @@ export default {
         this.filledNum.splice(key - 1,1,value)
       })
       //返回处理好的数量数组
+      console.log(this.filledNum,'90900990',data)
       return this.filledNum;
     },
     //处理留样数据
@@ -197,9 +203,9 @@ export default {
     },
   
     //委托样品图表
-    entrustNumberInit(dayArray,receivedData,unqualifiedData,retentionData){
+    entrustNumberInit(dayArray,receivedData,receivedData2,unqualifiedData,retentionData){
       // console.log('拿到日期数组',dayArray)
-      console.log(receivedData,unqualifiedData,retentionData,'we12e12312312312')
+      console.log(receivedData,receivedData2,unqualifiedData,retentionData,'we12e12312312312')
       this.entrustNumber = echarts.init(this.$refs.Number_refs);
       var entrustNumberOption = {
           xAxis:{
@@ -263,7 +269,7 @@ export default {
           series: [
             {
               type:"bar",
-              name:'已收到样品',
+              name:'外部送检已收到样品',
               //显示数字的颜色
               label: {
                 show: true,
@@ -277,6 +283,22 @@ export default {
               },
               data:receivedData 
             },
+            {
+              type:"bar",
+              name:'内部委托已收到样品',
+              //显示数字的颜色
+              label: {
+                show: true,
+                position: 'top',
+                color:'#fff'
+              },
+              //柱子的颜色
+              itemStyle:{
+                show:true,
+                color:'rgba(255, 255, 51, 0.4)',
+              },
+              data:receivedData2
+            },
             {
               type: 'line',
               name:'不合格样品',

+ 43 - 2
src/views/system/jbdHome/yangPinShuJu/headerContent.vue

@@ -5,6 +5,14 @@
         <div>委托样品总数</div>
         <div class="number">{{EntrustedTotal}}个</div>
       </div>
+      <div class="totalNumber">
+        <div>委托样品内部总数</div>
+        <div class="number">{{EntrustedTotalN}}个</div>
+      </div>
+      <div class="totalNumber">
+        <div>委托样品外部总数</div>
+        <div class="number">{{EntrustedTotalW}}个</div>
+      </div>
       <div class="notReceived">
         <div>待收样数量(已委托未收样)</div>
         <div class="number">{{NotReceiveNumber}}个</div>
@@ -49,6 +57,8 @@ export default {
       timer:null,
       sendTime:'',
       EntrustedTotal:0,
+      EntrustedTotalN:0,
+      EntrustedTotalW:0,
       NotReceiveNumber:0,
       ReceiveNumber:0,
       StagingNumber:0,
@@ -60,6 +70,8 @@ export default {
   created(){
     //数据获取
     this.getEntrustedTotalData()
+    this.getEntrustedTotalDataN()
+    this.getEntrustedTotalDataW()
     this.getNotReceivedData()
     this.getReceivedData()
     this.getUnqualifiedData()
@@ -74,6 +86,8 @@ export default {
     this.timer = null
     this.timer = setInterval(() =>{
       this.getEntrustedTotalData()
+      this.getEntrustedTotalDataN()
+      this.getEntrustedTotalDataW()
       this.getNotReceivedData()
       this.getReceivedData()
       this.getUnqualifiedData()
@@ -120,6 +134,34 @@ export default {
         // this.EntrustedTotal = data[0].sum
       })
       
+    },
+    //委托样品总数:样品表内部
+    getEntrustedTotalDataN(){
+      let sql1 = "select SUM(a.yang_pin_zong_shu) as sum from (select t_lhypb.* from t_lhypb LEFT JOIN t_lhwtsqb on t_lhypb.wei_tuo_dan_hao_ = t_lhwtsqb.wei_tuo_bian_hao_ where t_lhwtsqb.wei_tuo_lei_xing_ != '客户委托') as a where YEAR(create_time_) = YEAR('"+this.NowTime1+"')" 
+      curdPost('sql',sql1).then(response => { 
+        let data = response.variables.data
+        if(data[0]===null){
+          this.EntrustedTotalN = 0
+        }else(
+          this.EntrustedTotalN = data[0].sum
+        )
+        // this.EntrustedTotal = data[0].sum
+      })
+      
+    },
+    //委托样品总数:样品表外部
+    getEntrustedTotalDataW(){
+      let sql1 = "select SUM(a.yang_pin_zong_shu) as sum from (select t_lhypb.* from t_lhypb LEFT JOIN t_lhwtsqb on t_lhypb.wei_tuo_dan_hao_ = t_lhwtsqb.wei_tuo_bian_hao_ where t_lhwtsqb.wei_tuo_lei_xing_ = '客户委托') as a where YEAR(create_time_) = YEAR('"+this.NowTime1+"')" 
+      curdPost('sql',sql1).then(response => { 
+        let data = response.variables.data
+        if(data[0]===null){
+          this.EntrustedTotalW = 0
+        }else(
+          this.EntrustedTotalW = data[0].sum
+        )
+        // this.EntrustedTotal = data[0].sum
+      })
+      
     },
     //待收样数量:已委托,未收到
     getNotReceivedData(){
@@ -132,7 +174,6 @@ export default {
           this.NotReceiveNumber = data[0].sum
         )
         // this.NotReceiveNumber = data[0].sum
-        console.log(data,this.NowTime1,'dssadsdaad1221')
 
       })
   },
@@ -193,7 +234,7 @@ export default {
      },
      //样品完成检测数量
      getSuccessData(){
-      let sql6= "select SUM(t_lhypdjb.yang_pin_shu_lian) as num from t_lhypdjb LEFT JOIN t_lhjcbgb on t_lhypdjb.yang_ben_bian_hao = t_lhjcbgb.yang_pin_bian_hao where t_lhjcbgb.zhuang_tai_ = '待发放' and YEAR(t_lhypdjb.create_time_) = YEAR('"+this.NowTime1+"')" 
+      let sql6= "select SUM(t_lhypdjb.yang_pin_shu_lian) as num from t_lhypdjb LEFT JOIN t_lhjcbgb on t_lhypdjb.yang_ben_bian_hao = t_lhjcbgb.yang_pin_bian_hao where t_lhjcbgb.zhuang_tai_ = '待发放' or  t_lhjcbgb.zhuang_tai_ = '已完成' and YEAR(t_lhypdjb.create_time_) = YEAR('"+this.NowTime1+"')" 
       curdPost('sql',sql6).then(response => { 
         let data = response.variables.data
         if(data[0]===null){