|
|
@@ -1,162 +1,192 @@
|
|
|
<template>
|
|
|
- <div>
|
|
|
+ <div slot="header" style="padding-top: 0px">
|
|
|
<el-card>
|
|
|
- <!--标题部分-->
|
|
|
- <div slot="header" style="padding-top: 0px">
|
|
|
- <el-row type="flex" align="middle">
|
|
|
- <span>
|
|
|
- <img v-if="user.photo" :src="'http://'+user.host+user.photo" class="avatar-index">
|
|
|
- <img v-else class="avatar-index" src="../assets/img/avatar-default.jpg" :alt="user.name"> [
|
|
|
- {{user.Realname}} ]
|
|
|
- </span>
|
|
|
- <div style="margin-left:10px;">
|
|
|
- <router-link :to="'/equipment'">
|
|
|
- <el-button type="primary" plain style="margin-right:5px;" size="mini">
|
|
|
- 容器总数
|
|
|
- <span style="color:#0000FF">【{{usertotal.DeviceTotal}}】</span>
|
|
|
- </el-button>
|
|
|
- </router-link>
|
|
|
- <router-link :to="'/samples/stored'">
|
|
|
- <el-button type="primary" plain style="margin-right:5px;" size="mini">
|
|
|
- 已存储样本
|
|
|
- <span style="color:#0000FF">【{{usertotal.YILRTotal}}】</span>
|
|
|
- </el-button>
|
|
|
- </router-link>
|
|
|
- <router-link :to="'/samples/prerecorded'">
|
|
|
- <el-button type="primary" plain style="margin-right:5px;" size="mini">
|
|
|
- 预录入样本
|
|
|
- <span style="color:#0000FF">【{{usertotal.YULRTotal}}】</span>
|
|
|
- </el-button>
|
|
|
- </router-link>
|
|
|
- <router-link :to="'/samples/waitingstore'">
|
|
|
- <el-button type="primary" plain style="margin-right:5px;" size="mini">
|
|
|
- 待复存样本
|
|
|
- <span style="color:#0000FF;">【{{usertotal.DFCTotal}}】</span>
|
|
|
- </el-button>
|
|
|
- </router-link>
|
|
|
- <router-link :to="'/samples/archived'">
|
|
|
- <el-button type="primary" plain style="margin-right:5px;" size="mini">
|
|
|
- 已归档样本
|
|
|
- <span style="color:#0000FF">【{{usertotal.YGDTotal}}】</span>
|
|
|
- </el-button>
|
|
|
- </router-link>
|
|
|
- <router-link :to="'/donors/flupplan'">
|
|
|
- <el-button type="primary" plain style="margin-right:5px;" size="mini" v-if="acc =='s5OVE'">
|
|
|
- 待随访
|
|
|
- <span style="color:#0000FF">【{{usertotal.SFTotal}}】</span>
|
|
|
- </el-button>
|
|
|
- </router-link>
|
|
|
- <router-link :to="'/biobank/sampleRK'">
|
|
|
- <el-button type="primary" plain style="margin-right:5px;" size="mini"
|
|
|
- v-if="acc =='sgVEw' && permissions[permissionscode.rkapprove]">
|
|
|
- 待审核入库
|
|
|
- <span style="color:#0000FF">【{{usertotal.RKTotal}}】</span>
|
|
|
- </el-button>
|
|
|
- </router-link>
|
|
|
- <router-link :to="'/biobank/sampleCK'">
|
|
|
- <el-button type="primary" plain style="margin-right:5px;" size="mini"
|
|
|
- v-if="acc =='sgVEw' && permissions[permissionscode.ckapprove]">
|
|
|
- 待审核出库
|
|
|
- <span style="color:#0000FF">【{{usertotal.CKTotal}}】</span>
|
|
|
- </el-button>
|
|
|
- </router-link>
|
|
|
- </div>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <el-row :gutter="10" type="flex" justify="space-around" v-loading="downloading"
|
|
|
- element-loading-text="数据拼命读取中,请稍候。。。">
|
|
|
- <!--样本统计-->
|
|
|
- <el-col :span="12">
|
|
|
- <el-card>
|
|
|
- <div slot="header">
|
|
|
- <i class="icon icon-paragraph-justify"> 样本统计</i>
|
|
|
- <span style="float: right;">
|
|
|
- <el-select ref="refDiseases" style="margin-top: -10px;" size="mini" v-model="Diseases" clearable
|
|
|
- @change="changePie" placeholder="疾病类型">
|
|
|
- <el-option v-for="item in diseaseinfolist" :label="item.Value" :value="item.Id" :key="item.Id">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- <div v-if="sampleTitle.length === 0">无显示数据,可在
|
|
|
- <router-link :to="'/samples/prerecorded'">样本管理</router-link> 中录入样本</div>
|
|
|
- <div id="SamplePie" style="width:100%; height:366.5px;"></div>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <!--容器数据统计-->
|
|
|
- <el-col :span="12">
|
|
|
- <el-card>
|
|
|
- <div slot="header">容器数据统计</div>
|
|
|
- <div style="overflow-x:scroll; overflow-y:hidden;">
|
|
|
- <div v-if="EquipmentX.length === 0">无显示数据,可在
|
|
|
- <router-link :to="'/equipment'">容器管理</router-link> 模块增加容器</div>
|
|
|
- <div id="EquipmentBar" style="height:380px;margin-left:5px;margin-top:-30px;min-width:400px;"
|
|
|
- :style="{ width: usertotal.DeviceTotal * 30 + 'px' }"></div>
|
|
|
- </div>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <br>
|
|
|
- <el-row :gutter="10" type="flex" justify="space-around" v-loading="downloading"
|
|
|
- element-loading-text="数据拼命读取中,请稍候。。。">
|
|
|
- <!--待审核入库统计-->
|
|
|
- <el-col :span="12">
|
|
|
- <el-card class="box-card waitlist" style="height: calc(100vh - 410px);"
|
|
|
- v-if="acc =='sgVEw' && permissions[permissionscode.rkapprove]">
|
|
|
- <div slot="header">
|
|
|
- <i class="icon icon-paragraph-justify"> 待审核入库</i>
|
|
|
- </div>
|
|
|
- <el-table :data="RKList" size="mini" height="calc(100vh - 470px)">
|
|
|
- <el-table-column label="操作" width="70" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <router-link :to="'/biobank/sampleRK/'+scope.row.Id+'/operation'">
|
|
|
- <el-button type="text" title="编辑" size="small" icon="el-icon-edit"></el-button>
|
|
|
- </router-link>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="EntryNo" sortable min-width="110" label="入库单号" align="center"
|
|
|
- show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column prop="OperationBy" sortable min-width="80" label="申请人" align="center"
|
|
|
- show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column prop="EntryTime" sortable min-width="110" label="入库时间" align="center"
|
|
|
- show-overflow-tooltip>
|
|
|
- <template slot-scope="scope">
|
|
|
- {{ jstimehandle(scope.row.EntryTime)}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="Remark" sortable label="备注" align="center" show-overflow-tooltip></el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <!--待审核出库统计-->
|
|
|
- <el-col :span="12">
|
|
|
- <el-card class="box-card waitlist" style="height: calc(100vh - 410px);"
|
|
|
- v-if="acc =='sgVEw' && permissions[permissionscode.ckapprove]">
|
|
|
- <div slot="header">待审核出库</div>
|
|
|
- <el-table :data="CKList" size="mini" height="calc(100vh - 470px)">
|
|
|
- <el-table-column label="操作" width="70" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <router-link :to="'/biobank/sampleCK/'+scope.row.Id+'/operation'">
|
|
|
- <el-button type="text" title="编辑" size="small" icon="el-icon-edit"></el-button>
|
|
|
- </router-link>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="EntryNo" sortable min-width="110" label="出库单号" align="center"
|
|
|
- show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column prop="OperationBy" sortable min-width="80" label="申请人" align="center"
|
|
|
- show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column prop="EntryTime" sortable min-width="110" label="入库时间" align="center"
|
|
|
- show-overflow-tooltip>
|
|
|
- <template slot-scope="scope">
|
|
|
- {{ jstimehandle(scope.row.EntryTime)}}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="Remark" sortable label="备注" align="center" show-overflow-tooltip></el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ <span style="float: left; margin-top:10px;">
|
|
|
+ <img v-if="user.photo" :src="'http://'+user.host+user.photo" class="avatar-index">
|
|
|
+ <img v-else class="avatar-index" src="../assets/img/avatar-default.jpg" :alt="user.name">
|
|
|
+ [{{user.Realname}} ]
|
|
|
+ </span>
|
|
|
+ <el-form ref="form" :inline="true" style="float: left; margin-left:20px;">
|
|
|
+ <el-form-item>
|
|
|
+ <router-link :to="'/equipment'">
|
|
|
+ <el-button type="primary" plain style="margin-right:5px;" size="mini">
|
|
|
+ 容器总数
|
|
|
+ <span style="color:#0000FF">【{{usertotal.DeviceTotal}}】</span>
|
|
|
+ </el-button>
|
|
|
+ </router-link>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <router-link :to="'/samples/stored'">
|
|
|
+ <el-button type="primary" plain style="margin-right:5px;" size="mini">
|
|
|
+ 已存储样本
|
|
|
+ <span style="color:#0000FF">【{{usertotal.YILRTotal}}】</span>
|
|
|
+ </el-button>
|
|
|
+ </router-link>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <router-link :to="'/samples/prerecorded'">
|
|
|
+ <el-button type="primary" plain style="margin-right:5px;" size="mini">
|
|
|
+ 预录入样本
|
|
|
+ <span style="color:#0000FF">【{{usertotal.YULRTotal}}】</span>
|
|
|
+ </el-button>
|
|
|
+ </router-link>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <router-link :to="'/samples/waitingstore'">
|
|
|
+ <el-button type="primary" plain style="margin-right:5px;" size="mini">
|
|
|
+ 待复存样本
|
|
|
+ <span style="color:#0000FF;">【{{usertotal.DFCTotal}}】</span>
|
|
|
+ </el-button>
|
|
|
+ </router-link>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <router-link :to="'/samples/archived'">
|
|
|
+ <el-button type="primary" plain style="margin-right:5px;" size="mini">
|
|
|
+ 已归档样本
|
|
|
+ <span style="color:#0000FF">【{{usertotal.YGDTotal}}】</span>
|
|
|
+ </el-button>
|
|
|
+ </router-link>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <router-link :to="'/donors/flupplan'">
|
|
|
+ <el-button type="primary" plain style="margin-right:5px;" size="mini" v-if="acc =='s5OVE'">
|
|
|
+ 待随访
|
|
|
+ <span style="color:#0000FF">【{{usertotal.SFTotal}}】</span>
|
|
|
+ </el-button>
|
|
|
+ </router-link>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <router-link :to="'/biobank/sampleRK'">
|
|
|
+ <el-button type="primary" plain style="margin-right:5px;" size="mini"
|
|
|
+ v-if="acc =='sgVEw' && permissions[permissionscode.rkapprove]">
|
|
|
+ 待审核入库
|
|
|
+ <span style="color:#0000FF">【{{usertotal.RKTotal}}】</span>
|
|
|
+ </el-button>
|
|
|
+ </router-link>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <router-link :to="'/biobank/sampleCK'">
|
|
|
+ <el-button type="primary" plain style="margin-right:5px;" size="mini"
|
|
|
+ v-if="acc =='sgVEw' && permissions[permissionscode.ckapprove]">
|
|
|
+ 待审核出库
|
|
|
+ <span style="color:#0000FF">【{{usertotal.CKTotal}}】</span>
|
|
|
+ </el-button>
|
|
|
+ </router-link>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
</el-card>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-card style="margin-top: 5px; height:460.5px; width: 100%" v-if="acc =='sgVEw' && permissions[permissionscode.showbar]">
|
|
|
+ <div class="salesCard">
|
|
|
+ <el-col :span="16" style="margin-top: 20px">
|
|
|
+ <div v-if="groupList.length === 0">无显示数据,可在
|
|
|
+ <router-link :to="'/setting/systemitems'">数据字典</router-link> 中录入</div>
|
|
|
+ <div id="GroupBar" style="height:380px; margin-left:-25px; margin-top:10px; min-width:400px; width: 900px">
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :span="8" style="float: right; margin-top: -10px">
|
|
|
+ <div v-if="ProjectList.length === 0">无显示数据</div>
|
|
|
+ <ranking-list title="检测报告" :list="GroupSamList" />
|
|
|
+ </el-col> -->
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row :gutter="5" type="flex" justify="space-around" v-loading="downloading" element-loading-text="数据拼命读取中,请稍候。。。"
|
|
|
+ style="margin-top:5px">
|
|
|
+ <!--样本统计-->
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-card>
|
|
|
+ <div slot="header">
|
|
|
+ <i class="icon icon-paragraph-justify"> 样本统计</i>
|
|
|
+ <span style="float: right;">
|
|
|
+ <el-select ref="refDiseases" style="margin-top: -10px;" size="mini" v-model="Diseases" clearable
|
|
|
+ @change="changePie" placeholder="疾病类型">
|
|
|
+ <el-option v-for="item in diseaseinfolist" :label="item.Value" :value="item.Id" :key="item.Id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div v-if="sampleTitle.length === 0">无显示数据,可在
|
|
|
+ <router-link :to="'/samples/prerecorded'">样本管理</router-link> 中录入样本</div>
|
|
|
+ <div id="SamplePie" style="width:100%; height:366.5px;"></div>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ <!--容器数据统计-->
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-card>
|
|
|
+ <div slot="header">容器数据统计</div>
|
|
|
+ <div style="overflow-x:scroll; overflow-y:hidden;">
|
|
|
+ <div v-if="EquipmentX.length === 0">无显示数据,可在
|
|
|
+ <router-link :to="'/equipment'">容器管理</router-link> 模块增加容器</div>
|
|
|
+ <div id="EquipmentBar" style="height:380px;margin-left:5px;margin-top:-30px;min-width:400px;"
|
|
|
+ :style="{ width: usertotal.DeviceTotal * 30 + 'px' }"></div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row :gutter="5" type="flex" justify="space-around" v-loading="downloading" element-loading-text="数据拼命读取中,请稍候。。。"
|
|
|
+ style="margin-top:5px">
|
|
|
+ <!--待审核入库统计-->
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-card class="box-card waitlist" style="height: calc(100vh - 410px);"
|
|
|
+ v-if="acc =='sgVEw' && permissions[permissionscode.rkapprove]">
|
|
|
+ <div slot="header">
|
|
|
+ <i class="icon icon-paragraph-justify"> 待审核入库</i>
|
|
|
+ </div>
|
|
|
+ <el-table :data="RKList" size="mini" height="calc(100vh - 470px)">
|
|
|
+ <el-table-column label="操作" width="70" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <router-link :to="'/biobank/sampleRK/'+scope.row.Id+'/operation'">
|
|
|
+ <el-button type="text" title="编辑" size="small" icon="el-icon-edit"></el-button>
|
|
|
+ </router-link>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="EntryNo" sortable min-width="110" label="入库单号" align="center" show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="OperationBy" sortable min-width="80" label="申请人" align="center"
|
|
|
+ show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="EntryTime" sortable min-width="110" label="入库时间" align="center"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ jstimehandle(scope.row.EntryTime)}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="Remark" sortable label="备注" align="center" show-overflow-tooltip></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ <!--待审核出库统计-->
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-card class="box-card waitlist" style="height: calc(100vh - 410px);"
|
|
|
+ v-if="acc =='sgVEw' && permissions[permissionscode.ckapprove]">
|
|
|
+ <div slot="header">待审核出库</div>
|
|
|
+ <el-table :data="CKList" size="mini" height="calc(100vh - 470px)">
|
|
|
+ <el-table-column label="操作" width="70" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <router-link :to="'/biobank/sampleCK/'+scope.row.Id+'/operation'">
|
|
|
+ <el-button type="text" title="编辑" size="small" icon="el-icon-edit"></el-button>
|
|
|
+ </router-link>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="EntryNo" sortable min-width="110" label="出库单号" align="center" show-overflow-tooltip>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="OperationBy" sortable min-width="80" label="申请人" align="center"
|
|
|
+ show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="EntryTime" sortable min-width="110" label="入库时间" align="center"
|
|
|
+ show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ jstimehandle(scope.row.EntryTime)}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="Remark" sortable label="备注" align="center" show-overflow-tooltip></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <!-- </el-card> -->
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -170,7 +200,6 @@
|
|
|
|
|
|
data() {
|
|
|
return {
|
|
|
- // dimension 信息
|
|
|
Diseases: '',
|
|
|
diseaseinfolist: [], //疾病
|
|
|
btndim: 2,
|
|
|
@@ -180,6 +209,7 @@
|
|
|
// 饼状图&柱状图
|
|
|
SamplePie: null,
|
|
|
EquipmentBar: null,
|
|
|
+ GroupBar: null,
|
|
|
num: 0,
|
|
|
usertotal: {},
|
|
|
user: {
|
|
|
@@ -192,25 +222,28 @@
|
|
|
sampleData: [],
|
|
|
EquipmentX: [],
|
|
|
EquipmentY: [],
|
|
|
+ PreGroup: [],
|
|
|
+ StoGroup: [],
|
|
|
+ LockGroup: [],
|
|
|
tjdevicecolor: [
|
|
|
'#F5B132', '#E56C5A', '#8B9F74', '#EEA7A3', '#E94648', '#918E90', '#bbc8e6', '#004EA2',
|
|
|
'#ffec47', '#c0a2c7', '#93ca76'
|
|
|
],
|
|
|
- // tjdevicecolor: [
|
|
|
- // '#6A5ACD', '#B5C334', '#FCCE10', '#E87C25', '#27727B', '#FE8463', '#9BCA63', '#FAD860', '#F3A43B',
|
|
|
- // '#60C0DD', '#E87C25', '#27727B', '#FE8463'
|
|
|
- // ],
|
|
|
downloading: true,
|
|
|
acc: '',
|
|
|
+ groupList: [], //多中心分组列表
|
|
|
+ GroupSamList: [], //多中心分组统计
|
|
|
RKList: [],
|
|
|
CKList: [],
|
|
|
permissionscode: {
|
|
|
rkapprove: 'biobank.sampleRK.approve',
|
|
|
ckapprove: 'biobank.sampleCK.approve',
|
|
|
+ showbar: 'biobank.showbar',
|
|
|
},
|
|
|
permissions: {
|
|
|
'biobank.sampleRK.approve': false,
|
|
|
'biobank.sampleCK.approve': false,
|
|
|
+ 'biobank.showbar': false,
|
|
|
},
|
|
|
}
|
|
|
},
|
|
|
@@ -218,6 +251,7 @@
|
|
|
this.getstylebyuser()
|
|
|
this.getDiseasesList()
|
|
|
this.getPermissions() //权限
|
|
|
+ this.getGroupList()
|
|
|
let _this = this
|
|
|
_this.user.photo = _this.authUser.Profile.Photo
|
|
|
_this.user.name = _this.authUser.Profile.name
|
|
|
@@ -241,7 +275,6 @@
|
|
|
}
|
|
|
})
|
|
|
.catch(err => {
|
|
|
- // handle error
|
|
|
console.error(err)
|
|
|
})
|
|
|
},
|
|
|
@@ -254,45 +287,13 @@
|
|
|
_this.CKList = res.data.CKlist
|
|
|
_this.getBySampleType()
|
|
|
_this.getByEquipment()
|
|
|
+ _this.getByGroup()
|
|
|
})
|
|
|
.catch(err => {
|
|
|
console.error(err)
|
|
|
})
|
|
|
},
|
|
|
- //获取权限
|
|
|
- getPermissions() {
|
|
|
- let _this = this
|
|
|
- // request
|
|
|
- let params = {
|
|
|
- percodes: `'${this.permissionscode.rkapprove}','${this.permissionscode.ckapprove}'`
|
|
|
- }
|
|
|
- this.$axios.get('/permissions/isauths', {
|
|
|
- params
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
- if (res.data instanceof Array && res.data.length > 0) {
|
|
|
- console.log(res.data)
|
|
|
- res.data.forEach(element => {
|
|
|
- _this.permissions[element.Code] = element.Isperm
|
|
|
- });
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- console.error(err)
|
|
|
- })
|
|
|
- },
|
|
|
- //获取疾病类型
|
|
|
- getDiseasesList() {
|
|
|
- let _this = this
|
|
|
- _this.$axios.get('/sampletype/diseaseslist', {})
|
|
|
- .then(res => {
|
|
|
- _this.diseaseinfolist = res.data
|
|
|
- })
|
|
|
- },
|
|
|
- changePie() {
|
|
|
- this.sampleData = []
|
|
|
- this.getBySampleType()
|
|
|
- },
|
|
|
+
|
|
|
// 统计样本总数的饼状图
|
|
|
getBySampleType() {
|
|
|
let _this = this
|
|
|
@@ -357,8 +358,6 @@
|
|
|
color: [
|
|
|
'#F5B132', '#E56C5A', '#8B9F74', '#EEA7A3', '#E94648', '#918E90', '#bbc8e6', '#004EA2',
|
|
|
'#ffec47', '#c0a2c7', '#93ca76'
|
|
|
- // '#D1EEEE', '#FFE1FF', '#FFA500', '#6A5ACD', '#D1EEEE', '#CAE1FF', '#C0FF3E', '#1E90FF',
|
|
|
- // '#000080'
|
|
|
],
|
|
|
series: [{
|
|
|
name: '样本类型',
|
|
|
@@ -415,10 +414,6 @@
|
|
|
xAxis: {
|
|
|
type: 'category',
|
|
|
data: _this.EquipmentX,
|
|
|
- // axisLabel: {
|
|
|
- // interval: 0,
|
|
|
- // rotate: 40
|
|
|
- // }
|
|
|
},
|
|
|
yAxis: {
|
|
|
type: 'value'
|
|
|
@@ -432,7 +427,6 @@
|
|
|
}
|
|
|
},
|
|
|
data: _this.EquipmentY,
|
|
|
- // data:[10, 52, 200, 334, 390, 330, 220],
|
|
|
itemStyle: {
|
|
|
normal: {
|
|
|
color: function (params) {
|
|
|
@@ -444,6 +438,125 @@
|
|
|
}]
|
|
|
})
|
|
|
},
|
|
|
+
|
|
|
+ //多中心管理按分组统计柱状图
|
|
|
+ getByGroup() {
|
|
|
+ let _this = this
|
|
|
+ _this.$axios.get('users/samplebygroup', {})
|
|
|
+ .then(res => {
|
|
|
+ for (var i = 0; i < this.groupList.length; i++) {
|
|
|
+ for (var n = 0; n < res.data.length; n++) {
|
|
|
+ if (res.data[n].IState == '10') {
|
|
|
+ if (res.data[n].Name == this.groupList[i]) {
|
|
|
+ this.LockGroup.push(res.data[n].Num)
|
|
|
+ } else {
|
|
|
+ this.LockGroup.push(0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (res.data[n].IState == '1') {
|
|
|
+ if (res.data[n].Name == this.groupList[i]) {
|
|
|
+ this.StoGroup.push(res.data[n].Num)
|
|
|
+ } else {
|
|
|
+ this.StoGroup.push(0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (res.data[n].IState == '2') {
|
|
|
+ if (res.data[n].Name == this.groupList[i]) {
|
|
|
+ this.PreGroup.push(res.data[n].Num)
|
|
|
+ } else {
|
|
|
+ this.PreGroup.push(0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.drawGroupChart()
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ drawGroupChart() {
|
|
|
+ let _this = this
|
|
|
+ var chartBar = echarts.init(document.getElementById('GroupBar'))
|
|
|
+ chartBar.setOption({
|
|
|
+ title: {
|
|
|
+ text: '',
|
|
|
+ },
|
|
|
+ tooltip: {
|
|
|
+ trigger: 'axis'
|
|
|
+ },
|
|
|
+ legend: {
|
|
|
+ data: ['预录入', '已存储', '已锁定']
|
|
|
+ },
|
|
|
+ calculable: true,
|
|
|
+ xAxis: [{
|
|
|
+ type: 'category',
|
|
|
+ data: this.groupList,
|
|
|
+ }],
|
|
|
+ yAxis: [{
|
|
|
+ type: 'value'
|
|
|
+ }],
|
|
|
+ series: [{
|
|
|
+ name: '预录入',
|
|
|
+ type: 'bar',
|
|
|
+ data: this.PreGroup,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '已存储',
|
|
|
+ type: 'bar',
|
|
|
+ data: this.StoGroup,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '已锁定',
|
|
|
+ type: 'bar',
|
|
|
+ data: this.LockGroup,
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ //获取疾病类型
|
|
|
+ getDiseasesList() {
|
|
|
+ let _this = this
|
|
|
+ _this.$axios.get('/sampletype/diseaseslist', {})
|
|
|
+ .then(res => {
|
|
|
+ _this.diseaseinfolist = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ changePie() {
|
|
|
+ this.sampleData = []
|
|
|
+ this.getBySampleType()
|
|
|
+ },
|
|
|
+ getGroupList() {
|
|
|
+ let _this = this
|
|
|
+ _this.$axios.get('/samplesgroup/grouplist', {})
|
|
|
+ .then(res => {
|
|
|
+ for (var i = 0; i < res.data.length; i++) {
|
|
|
+ _this.groupList.push(res.data[i].Key)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //获取权限
|
|
|
+ getPermissions() {
|
|
|
+ let _this = this
|
|
|
+ let params = {
|
|
|
+ percodes: `'${this.permissionscode.rkapprove}','${this.permissionscode.ckapprove}','${this.permissionscode.showbar}'`
|
|
|
+ }
|
|
|
+ this.$axios.get('/permissions/isauths', {
|
|
|
+ params
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.data instanceof Array && res.data.length > 0) {
|
|
|
+ console.log(res.data)
|
|
|
+ res.data.forEach(element => {
|
|
|
+ _this.permissions[element.Code] = element.Isperm
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
jstimehandle(val) {
|
|
|
if (val === '') {
|
|
|
return '----'
|