|
|
@@ -47,14 +47,21 @@
|
|
|
<el-col :span="4">
|
|
|
<el-popover trigger="hover" width="600" placement="center">
|
|
|
<div>
|
|
|
+ <i class="icon icon-stop2" style="color:#EAEAEA"></i>无冻存盒
|
|
|
+ <i class="icon icon-stop2" style="color:#13CE66"></i>空冻存盒
|
|
|
+ <i class="icon icon-stop2" style="color:#FF4949"></i>选中
|
|
|
+ <i class="icon icon-stop2" style="color:#D1EEEE"></i>容量(0-25%)
|
|
|
+ <i class="icon icon-stop2" style="color:#20A0FF"></i>容量(25%-50%)
|
|
|
+ <i class="icon icon-stop2" style="color:#836FFF"></i>容量(50%-75%)
|
|
|
+ <i class="icon icon-stop2" style="color:#000080"></i>容量(75%-100%)
|
|
|
<el-row v-show="showtsyedanguan">
|
|
|
- <i class="icon icon-stop2" style="color:#EAEAEA"></i>无冻存盒
|
|
|
+ <!-- <i class="icon icon-stop2" style="color:#EAEAEA"></i>无冻存盒
|
|
|
<i class="icon icon-stop2" style="color:#13CE66"></i>空冻存盒
|
|
|
<i class="icon icon-stop2" style="color:#FF4949"></i>选中
|
|
|
<i class="icon icon-stop2" style="color:#D1EEEE"></i>容量(0-25%)
|
|
|
<i class="icon icon-stop2" style="color:#20A0FF"></i>容量(25%-50%)
|
|
|
<i class="icon icon-stop2" style="color:#836FFF"></i>容量(50%-75%)
|
|
|
- <i class="icon icon-stop2" style="color:#000080"></i>容量(75%-100%)
|
|
|
+ <i class="icon icon-stop2" style="color:#000080"></i>容量(75%-100%) -->
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="18">
|
|
|
<canvas id="canvascryobiobank97K" width="450" height="450"></canvas>
|
|
|
@@ -84,13 +91,13 @@
|
|
|
</el-row>
|
|
|
</el-row>
|
|
|
<el-row v-show="showcgshebei">
|
|
|
- <i class="icon icon-stop2" style="color:#EAEAEA"></i>无冻存盒
|
|
|
+ <!-- <i class="icon icon-stop2" style="color:#EAEAEA"></i>无冻存盒
|
|
|
<i class="icon icon-stop2" style="color:#13CE66"></i>空冻存盒
|
|
|
<i class="icon icon-stop2" style="color:#FF4949"></i>选中
|
|
|
<i class="icon icon-stop2" style="color:#D1EEEE"></i>容量(0-25%)
|
|
|
<i class="icon icon-stop2" style="color:#20A0FF"></i>容量(25%-50%)
|
|
|
<i class="icon icon-stop2" style="color:#836FFF"></i>容量(50%-75%)
|
|
|
- <i class="icon icon-stop2" style="color:#000080"></i>容量(75%-100%)
|
|
|
+ <i class="icon icon-stop2" style="color:#000080"></i>容量(75%-100%) -->
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="18">
|
|
|
<table cellspacing="0" cellpadding="0">
|
|
|
@@ -104,49 +111,48 @@
|
|
|
<td v-for="(ycolorTable,k2) in colorTableWidth"
|
|
|
v-bind:class="{ 'tdborder': true, 'tdleftborder': k2 === 0, 'tdtopborder': k1 === 0, 'tdrightborder': k2 === colorTableWidth-1 }">
|
|
|
<div class="ulbgcolor"
|
|
|
- v-bind:style="{ width: unitwidth/colorTableWidth + 'px', height: unitheight/colorTableHeight + 'px' }">
|
|
|
- <div v-for="(shelfitem, index) in samplelist">
|
|
|
- <div v-if="samplelist[index].XStation === k2+1 && samplelist[index].YStation === k1+1">
|
|
|
- <div class="hoverdiv" v-for="rowindex in samplelist[index].RowNum">
|
|
|
- <div v-bind:style="{
|
|
|
+ v-bind:style="{ width: unitwidth/colorTableWidth + 'px', height: unitheight/colorTableHeight + 'px' }">
|
|
|
+ <div v-for="(shelfitem, index) in samplelist">
|
|
|
+ <div
|
|
|
+ v-if="samplelist[index].XStation === k2+1 && samplelist[index].YStation === k1+1">
|
|
|
+ <div class="hoverdiv" v-for="rowindex in samplelist[index].RowNum">
|
|
|
+ <div
|
|
|
+ v-bind:style="{
|
|
|
width: (unitwidth/colorTableWidth-2.5) + 'px',
|
|
|
height: (unitheight/colorTableHeight/samplelist[index].RowNum-2.5) + 'px',
|
|
|
- backgroundColor: ybox == rowindex && xshelf == k1+1 && yshelf == k2+1 ? COLORARR[7] : COLORARR[0]}" style="margin: 1px"
|
|
|
- @click="getEquipPosition(rowindex-1, k1+1, k2+1)"></div>
|
|
|
+ backgroundColor: ybox == rowindex && xshelf == k1+1 && yshelf == k2+1 ? COLORARR[7] : COLORARR[0]}"
|
|
|
+ style="margin: 1px" @click="getEquipPosition(rowindex-1, k1+1, k2+1)"></div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
</td>
|
|
|
- </tr>
|
|
|
+ </tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
<div>
|
|
|
<img :src="fridgebottomimg" class="fridge">
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- <!-- <el-col :span="6">
|
|
|
- <div class="ulbgcolor" v-for="g in Math.ceil(selectdtedanguan.ColumnNum / 21)"
|
|
|
- style="width:50px;float:left;margin-left:1px">
|
|
|
- <div v-for="b in selectdtedanguan.ColumnNum">
|
|
|
- <div class="hoverdiv" v-if="(b <= g*21) && (b > (g - 1)*21)"
|
|
|
- @click="handleclk(b-1, 0, selectdtedanguan.YStation, selectdtedanguan.XStation)"
|
|
|
- v-bind:style="{
|
|
|
- backgroundColor: xbox == b && ybox == 1 &&
|
|
|
- xshelf == selectdtedanguan.YStation && yshelf == selectdtedanguan.XStation ? COLORARR[2] :
|
|
|
- (selectdtedanguan['A'+b] == -2 ? COLORARR[0] :
|
|
|
- (selectdtedanguan['A'+b] == -1 ? COLORARR[1] :
|
|
|
- (selectdtedanguan['A'+b] > 0 &&
|
|
|
- selectdtedanguan['A'+b] <= 25 ? COLORARR[3] :
|
|
|
- (selectdtedanguan['A'+b] > 25 &&
|
|
|
- selectdtedanguan['A'+b] <= 50 ? COLORARR[4] :
|
|
|
- (selectdtedanguan['A'+b] > 50 &&
|
|
|
- selectdtedanguan['A'+b] <= 75 ? COLORARR[5] :
|
|
|
- (selectdtedanguan['A'+b] > 75 ? COLORARR[6] :
|
|
|
- COLORARR[7])))))) }" style="margin: 1px;width:50px; height:20px;"></div>
|
|
|
- </div>
|
|
|
+ <el-col :span="6">
|
|
|
+ <div class="ulbgcolor" v-for="g in shelfs.ColumnNum"
|
|
|
+ style="width:30px;float:left;margin-left:1px">
|
|
|
+ <div class="hoverdiv" v-bind:style="{
|
|
|
+ backgroundColor: xbox == g && ybox == ybox &&
|
|
|
+ xshelf == shelfs.YStation && yshelf == shelfs.XStation ? COLORARR[2] :
|
|
|
+ (shelfs['A'+g] == -2 ? COLORARR[0] :
|
|
|
+ (shelfs['A'+g] == -1 ? COLORARR[1] :
|
|
|
+ (shelfs['A'+g] > 0 &&
|
|
|
+ shelfs['A'+g] <= 25 ? COLORARR[3] :
|
|
|
+ (shelfs['A'+g] > 25 &&
|
|
|
+ shelfs['A'+g] <= 50 ? COLORARR[4] :
|
|
|
+ (shelfs['A'+g] > 50 &&
|
|
|
+ shelfs['A'+g] <= 75 ? COLORARR[5] :
|
|
|
+ (shelfs['A'+g] > 75 ? COLORARR[6] :
|
|
|
+ COLORARR[7])))))) }" @click="handleclk(g-1, ybox-1, shelfs.YStation, shelfs.XStation)"
|
|
|
+ style="margin: 1px;width:50px; height:20px;"></div>
|
|
|
</div>
|
|
|
- </el-col> -->
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
@@ -777,6 +783,7 @@
|
|
|
dchytable: -1,
|
|
|
xshelf: -1, // 选中的冻存架的位置
|
|
|
yshelf: -1,
|
|
|
+ shelfs: [], //选中冻存架
|
|
|
xbox: -1, // 样本所在冻存盒内位置
|
|
|
ybox: -1,
|
|
|
xtable: 4, // 样本所在冻存盒内位置
|
|
|
@@ -812,7 +819,8 @@
|
|
|
selectedBox: [],
|
|
|
boxSample: [],
|
|
|
equipid: 0, // 新增,设备id
|
|
|
- COLORARR: ['#EAEAEA', '#13CE66', '#FF4949', '#D1EEEE', '#20A0FF', '#836FFF', '#000080', '#FF7777'], //灰、绿、粉、25%、蓝、紫、深蓝
|
|
|
+ COLORARR: ['#EAEAEA', '#13CE66', '#FF4949', '#D1EEEE', '#20A0FF', '#836FFF', '#000080',
|
|
|
+ '#FF7777'], //灰、绿、粉、25%、蓝、紫、深蓝
|
|
|
selectedorgan: [], // 级联所选组织结构
|
|
|
sampleorganprops: {
|
|
|
value: 'code',
|
|
|
@@ -2276,7 +2284,6 @@
|
|
|
.then(res => {
|
|
|
_this.downloading = false
|
|
|
_this.samplelist = res.data.items
|
|
|
- console.log("klllllllllllllllllllllll",_this.samplelist)
|
|
|
_this.colorTableWidth = res.data.dimension[0] //列
|
|
|
_this.colorTableHeight = res.data.dimension[1] //层
|
|
|
_this.location() //液氮罐
|
|
|
@@ -2474,8 +2481,6 @@
|
|
|
_this.selectdtedanguan = {
|
|
|
ColumnNum: 0
|
|
|
}
|
|
|
- console.log("---------------------", _this.selectdtedanguan)
|
|
|
- console.log("--1111111111111111----", _this.samplelist)
|
|
|
for (var i = 0; i < _this.samplelist.length; i++) {
|
|
|
if (_this.samplelist[i].XStation === v.XStation && _this.samplelist[i].YStation === v.YStation) {
|
|
|
_this.selectdtedanguan = _this.samplelist[i]
|
|
|
@@ -2494,7 +2499,6 @@
|
|
|
_this.yedanguanctx.closePath()
|
|
|
_this.yedanguanctx.fill()
|
|
|
}
|
|
|
- console.log("---vvvvvvvvvvvvvv-------", _this.yedanguanctx)
|
|
|
// 排除搜索进来的
|
|
|
if (!_this.fristseach) {
|
|
|
_this.handleclk(-1, -1, -1, -1)
|
|
|
@@ -2522,21 +2526,11 @@
|
|
|
},
|
|
|
// 获取冰箱冻存架点击坐标
|
|
|
getEquipPosition(ybox, xshelf, yshelf) {
|
|
|
- console.log("jnkllllllllllllllll",ybox, xshelf, yshelf)
|
|
|
- let index = (xshelf - 1) * this.colorTableWidth + yshelf
|
|
|
- console.log("j-----------------l",index)
|
|
|
- // let x, y
|
|
|
- // if (ev.layerX || ev.layerX === 0) {
|
|
|
- // x = ev.layerX
|
|
|
- // y = ev.layerY
|
|
|
- // } else if (ev.offsetX || ev.offsetX === 0) { // Opera
|
|
|
- // x = ev.offsetX
|
|
|
- // y = ev.offsetY
|
|
|
- // }
|
|
|
- // return {
|
|
|
- // x: x,
|
|
|
- // y: y
|
|
|
- // }
|
|
|
+ let index = (xshelf - 1) * this.colorTableWidth + yshelf - 1
|
|
|
+ this.shelfs = this.samplelist[index]
|
|
|
+ this.xshelf = xshelf
|
|
|
+ this.yshelf = yshelf
|
|
|
+ this.ybox = ybox + 1
|
|
|
},
|
|
|
|
|
|
uploadrequest(option) {
|
|
|
@@ -2608,12 +2602,10 @@
|
|
|
},
|
|
|
|
|
|
handleclk(xbox, ybox, xshelf, yshelf) {
|
|
|
- console.log("-=2rffffffffffffff",xbox, ybox, xshelf, yshelf)
|
|
|
// 清空状态
|
|
|
this.clearSampleForm()
|
|
|
let _this = this
|
|
|
var inputstr = _this.equipid + ',' + yshelf + ',' + xshelf + ',' + (xbox + 1) + ',' + (ybox + 1)
|
|
|
- console.log("-=2kkkkkkkkkkkkkkkkkkkkkk",inputstr)
|
|
|
_this.$axios.get('/shelfset/boxdraw/' + inputstr, {})
|
|
|
.then(res => {
|
|
|
_this.selectedBox = res.data.Boxshelf
|