|
|
@@ -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%;">
|
|
|
+ <div class="gongshiAll">
|
|
|
+ <div class="touwidth">任务完成率=</div>
|
|
|
+ <div style="margin: 0 0.2%;">
|
|
|
+ <div class="gongshiXian">完成检测项目数量</div>
|
|
|
+ <div style="padding-top: 6%;">有效检测任务总数</div>
|
|
|
+ </div>
|
|
|
+ <div>×100%</div>
|
|
|
+ </div>
|
|
|
+ <div class="gongshiAll">
|
|
|
+ <div class="touwidth">检测报告差错率=</div>
|
|
|
+ <div style="margin: 0 0.2%;">
|
|
|
+ <div class="gongshiXian">统计期内检测数据的差错次数</div>
|
|
|
+ <div style="padding-top: 6%;">统计期内检测报告总数</div>
|
|
|
+ </div>
|
|
|
+ <div>×100%</div>
|
|
|
+ </div>
|
|
|
+ <div class="gongshiAll">
|
|
|
+ <div class="touwidth">客户满意度=</div>
|
|
|
+ <div style="margin: 0 0.2%;">
|
|
|
+ <div class="gongshiXian">评分得分*有效问卷数量</div>
|
|
|
+ <div style="padding-top: 6%;">有效问卷总分</div>
|
|
|
+ </div>
|
|
|
+ <div>×100%</div>
|
|
|
+ </div>
|
|
|
+ <div class="gongshiAll">
|
|
|
+ <div class="touwidth">投诉率=</div>
|
|
|
+ <div style="margin: 0 0.2%;">
|
|
|
+ <div class="gongshiXian">统计期内有效投诉项目数</div>
|
|
|
+ <div style="padding-top: 6%;">统计期内检测项目总数</div>
|
|
|
+ </div>
|
|
|
+ <div>×100%</div>
|
|
|
+ </div>
|
|
|
+ <div class="gongshiAll">
|
|
|
+ <div class="touwidth">投诉回复及时率=</div>
|
|
|
+ <div style="margin: 0 0.2%;">
|
|
|
+ <div class="gongshiXian">统计期内被投诉后48h内达成一致解决方案次数</div>
|
|
|
+ <div style="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,29 @@
|
|
|
}
|
|
|
.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: 35%;
|
|
|
+ }
|
|
|
+ .gongshiXian{
|
|
|
+ border-bottom: #fff solid 2px;
|
|
|
+ padding-bottom: 6%;
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|
|
|
<style lang="scss">
|
|
|
.el-year-table .today .cell {
|