168 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			168 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
<template>
 | 
						|
  <div class="workbench-container">
 | 
						|
    <div class="workbench-stats">
 | 
						|
      <PanelCount ref="panelCount" @getSignSystemDocCount="getSignSystemDocCount" />
 | 
						|
    </div>
 | 
						|
    <div class="workbench-content">
 | 
						|
      <div class="content-wrapper">
 | 
						|
        <div class="item" v-if="!hasPermi(['role:zys'])">
 | 
						|
          <el-card :body-style="{ padding: '10px'}" style="height:100%">
 | 
						|
            <consistencyCheck />
 | 
						|
          </el-card>
 | 
						|
        </div>
 | 
						|
        <div class="item" v-if="!hasPermi(['role:zys'])">
 | 
						|
          <el-card :body-style="{ padding: '10px'}" style="height:100%">
 | 
						|
            <NeedSignTrialDoc />
 | 
						|
          </el-card>
 | 
						|
        </div>
 | 
						|
        <div class="item" v-hasPermi="['trials:trials-workbench:attachments:site-research']">
 | 
						|
          <el-card :body-style="{ padding: '10px'}" style="height:100%">
 | 
						|
            <SiteResearch  />
 | 
						|
          </el-card>
 | 
						|
        </div>
 | 
						|
        <div v-if="isSignSystemDoc || hasPermi(['role:zys'])" class="item">
 | 
						|
          <el-card :body-style="{ padding: '10px'}" style="height:100%">
 | 
						|
            <NeedSignSysDoc @refreshStats="refreshStats" />
 | 
						|
          </el-card>
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
import PanelCount from './components/panelCount'
 | 
						|
import NeedSignTrialDoc from './components/needSignTrialDoc'
 | 
						|
import SiteResearch from './components/siteResearch'
 | 
						|
import NeedSignSysDoc from './components/needSignSysDoc'
 | 
						|
import consistencyCheck from './components/consistencyCheck'
 | 
						|
export default {
 | 
						|
  name: 'WorkBench',
 | 
						|
  components: { PanelCount, NeedSignTrialDoc, SiteResearch, NeedSignSysDoc, consistencyCheck },
 | 
						|
  data() {
 | 
						|
    return {
 | 
						|
      isSignSystemDoc: false
 | 
						|
    }
 | 
						|
  },
 | 
						|
  methods: {
 | 
						|
    getSignSystemDocCount(count) {
 | 
						|
      this.isSignSystemDoc = count > 0
 | 
						|
    },
 | 
						|
    refreshStats() {
 | 
						|
      this.$refs['panelCount'].getData()
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
</script>
 | 
						|
 | 
						|
<style lang="scss">
 | 
						|
.workbench-container{
 | 
						|
  ::-webkit-scrollbar {
 | 
						|
    width: 7px;
 | 
						|
    height: 7px;
 | 
						|
  }
 | 
						|
  ::-webkit-scrollbar-thumb {
 | 
						|
    border-radius: 10px;
 | 
						|
    background: #d0d0d0;
 | 
						|
  }
 | 
						|
  display: flex;
 | 
						|
  flex-direction: column;
 | 
						|
  width: 100%;
 | 
						|
  height: 100%;
 | 
						|
  background-color: #fff;
 | 
						|
  overflow-x: hidden;
 | 
						|
 | 
						|
  .workbench-stats{
 | 
						|
    height: 120px;
 | 
						|
  }
 | 
						|
  .workbench-content{
 | 
						|
    flex: 1;
 | 
						|
    overflow-y: auto;
 | 
						|
    .content-wrapper{
 | 
						|
      width: 100%;
 | 
						|
      height: 100%;
 | 
						|
      display: flex;
 | 
						|
      flex-flow: wrap;
 | 
						|
      padding: 5px;
 | 
						|
      .item{
 | 
						|
        width: 50%;
 | 
						|
        height: 500px;
 | 
						|
        padding: 5px;
 | 
						|
        box-sizing: border-box;
 | 
						|
        .el-card__body{
 | 
						|
          height: 100%;
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
  .table-row__p {
 | 
						|
    color: #53646f;
 | 
						|
    font-size: 13px;
 | 
						|
    font-weight: 400;
 | 
						|
    line-height: 18px;
 | 
						|
    margin-bottom: 0px;
 | 
						|
  }
 | 
						|
  .table-row__span {
 | 
						|
    color: #9eabb4;
 | 
						|
    font-weight: 300;
 | 
						|
    font-size: 12px;
 | 
						|
  }
 | 
						|
  .el-row{
 | 
						|
    .el-col{
 | 
						|
      padding:5px;
 | 
						|
    }
 | 
						|
  }
 | 
						|
  .status:before{
 | 
						|
    content: '';
 | 
						|
    margin-bottom: 0;
 | 
						|
    width: 9px;
 | 
						|
    height: 9px;
 | 
						|
    display: inline-block;
 | 
						|
    margin-right: 7px;
 | 
						|
    border-radius: 50%;
 | 
						|
  }
 | 
						|
  .status--red:before{
 | 
						|
    background-color: #e36767;
 | 
						|
  }
 | 
						|
 | 
						|
  .status--red{
 | 
						|
    color: #e36767;
 | 
						|
  }
 | 
						|
 | 
						|
  .status--blue:before{
 | 
						|
    background-color: #3fd2ea;
 | 
						|
  }
 | 
						|
 | 
						|
  .status--blue{
 | 
						|
    color: #3fd2ea;
 | 
						|
  }
 | 
						|
 | 
						|
  .status--yellow:before{
 | 
						|
    background-color: #ecce4e;
 | 
						|
  }
 | 
						|
 | 
						|
  .status--yellow{
 | 
						|
    color: #ecce4e;
 | 
						|
  }
 | 
						|
 | 
						|
  .status--green{
 | 
						|
    color: #6cdb56;
 | 
						|
  }
 | 
						|
  .status--green:before{
 | 
						|
    background-color: #6cdb56;
 | 
						|
  }
 | 
						|
 | 
						|
  .status--grey{
 | 
						|
    color: #9eabb4;
 | 
						|
  }
 | 
						|
  .status--grey:before{
 | 
						|
    background-color: #9eabb4;
 | 
						|
  }
 | 
						|
  .chart-wrapper {
 | 
						|
    background: #fff;
 | 
						|
    padding: 16px 16px 0;
 | 
						|
    margin-bottom: 32px;
 | 
						|
  }
 | 
						|
}
 | 
						|
</style>
 |