| | |
| | | .search { |
| | | width: 100%; |
| | | margin-bottom: 10px; |
| | | height: 140px; |
| | | background-color: #fff; |
| | | border-radius: 3px; |
| | | } |
| | | |
| | | .search .form-inline { |
| | | height: 50px; |
| | | padding-top: 20px; |
| | | padding-left: 50px; |
| | | } |
| | |
| | | height: 100%; |
| | | align-items: center; |
| | | justify-content: left; |
| | | padding: 2px; |
| | | padding: 5px; |
| | | box-sizing: border-box; |
| | | } |
| | | .content-h-0{ |
| | |
| | | .content-v-2{ |
| | | align-items: end; |
| | | } |
| | | |
| | | .table_input{ |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | </style> |
| | | <style> |
| | | .el-form-item__label{ |
| | |
| | | <tbody> |
| | | <tr v-for="(m,i) in item.arr" :key="i"> |
| | | <td |
| | | :id='item.templateId+"-"+n.r+"-"+n.c' |
| | | v-for="(n,j) in m" |
| | | :key="j" |
| | | :colspan="n.v.mc&&n.v.mc.cs?n.v.mc.cs:1" |
| | | :rowspan="n.v.mc&&n.v.mc.rs?n.v.mc.rs:1" |
| | | :style="`background:${n.v.bg};font-family:${n.v.ff};color:${n.v.fc};font-size:${n.v.fs}px;width:${item.style.columnlen[n.c]}px;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`"> |
| | | :style="`background:${n.v.bg};color:${n.v.fc};font-size:${n.v.fs}px;width:${item.style.columnlen[n.c]}px;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`"> |
| | | <div class="content" :class="`content-h-${n.v.ht} content-v-${n.v.vt}`"> |
| | | <span>{{ n.v.v}}</span> |
| | | <span v-if="n.v.ps===undefined || n.v.ps.value!='检验值'" :style="`font-family:${n.v.ff} !important;`">{{ n.v.v}}</span> |
| | | <el-input v-else class="table_input" v-model="n.v.v" @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}`)" /> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | |
| | | <el-drawer |
| | | title="样品切换" |
| | | :visible.sync="sampleVisible" |
| | | size="50%"> |
| | | :size="500"> |
| | | <el-table class="el-table" ref="productTable" :data="sampleProduct" height="100%" tooltip-effect="dark" border highlight-current-row @row-click="handleChangeSample" :row-class-name="tableRowClassName" |
| | | :current-row-key="currentKey" :row-key="record=>record.index" |
| | | v-if="sampleVisible"> |
| | |
| | | <el-table-column prop="sampleCode" label="样品编号" min-width="100px" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="model" label="样品型号" min-width="100px" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="insState" label="检测状态" min-width="100px" show-overflow-tooltip> |
| | | <el-table-column prop="insState" label="检测状态" width="95px" show-overflow-tooltip> |
| | | <template slot-scope="scope"> |
| | | <el-tag v-for="(item, i) in typeList" :key="i" v-if="item.value == scope.row.insState" |
| | | :type="item.type" size="medium" style="margin-right: 5px;">{{item.label}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isLeave" label="是否留样" min-width="100px" show-overflow-tooltip> |
| | | <el-table-column prop="isLeave" label="是否留样" width="95px" show-overflow-tooltip align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.isLeave==0?'否':'是' }}</span> |
| | | </template> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { number } from 'echarts'; |
| | | import ValueTable from '../../tool/value-table.vue' |
| | | export default { |
| | | props: ['sonLaboratory','orderId'], |
| | |
| | | currentId:'', |
| | | selectField: {}, |
| | | requiredAdd: [], |
| | | requiredUp: [], |
| | | requiredUp: [] |
| | | }, |
| | | upIndex: 0, |
| | | insOrder: {}, |
| | |
| | | currentSample:{},//当前样品信息 |
| | | tableList:[], |
| | | loading: false, |
| | | ps: {}, |
| | | param: { |
| | | insValue:{}, |
| | | comValue: {}, |
| | | bestValue: {}, |
| | | result: {} |
| | | }, |
| | | currentKey:1, |
| | | comparisonList:[ |
| | | { |
| | | 0:'0', |
| | | 1:'A', |
| | | }, |
| | | { |
| | | 0:'1', |
| | | 1:'B', |
| | | }, |
| | | { |
| | | 0:'2', |
| | | 1:'C', |
| | | }, |
| | | { |
| | | 0:'3', |
| | | 1:'D', |
| | | }, |
| | | { |
| | | 0:'4', |
| | | 1:'E', |
| | | }, |
| | | { |
| | | 0:'5', |
| | | 1:'F', |
| | | }, |
| | | { |
| | | 0:'6', |
| | | 1:'G', |
| | | }, |
| | | { |
| | | 0:'7', |
| | | 1:'H', |
| | | }, |
| | | { |
| | | 0:'8', |
| | | 1:'I', |
| | | }, |
| | | { |
| | | 0:'9', |
| | | 1:'J', |
| | | }, |
| | | { |
| | | 0:'10', |
| | | 1:'K', |
| | | }, |
| | | ], |
| | | excelMethodList:[] |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | row.index = rowIndex + 1; |
| | | }, |
| | | handleTableData(){ |
| | | this.excelMethodList = [] |
| | | const mySet1 = new Set(); |
| | | this.tableList = JSON.parse(JSON.stringify(this.currentSample.insProduct)).filter(m=>{ |
| | | let num0 = mySet1.size; |
| | |
| | | return m |
| | | } |
| | | }) |
| | | this.tableList.forEach(a=>{ |
| | | let dels = [] |
| | | let ids = [] |
| | | a.template.forEach(b=>{ |
| | | if(b.v.ps!=undefined&&b.v.ps.value==='检验子项'){ |
| | | let count = 0 |
| | | for(let i in this.currentSample.insProduct){ |
| | | if(this.currentSample.insProduct[i].inspectionItemSubclass === b.v.v && this.currentSample.insProduct[i].templateId === a.templateId){ |
| | | ids.push({ |
| | | r: b.r, |
| | | id: this.currentSample.insProduct[i].id |
| | | }) |
| | | break |
| | | } |
| | | count++ |
| | | } |
| | | if(count === this.currentSample.insProduct.length){ |
| | | dels.push(b) |
| | | } |
| | | } |
| | | }) |
| | | dels.forEach(del=>{ |
| | | for(let b=0;b<a.template.length;b++){ |
| | | if(a.template[b].r === del.r){ |
| | | a.template.splice(b, 1) |
| | | b-=1 |
| | | } |
| | | } |
| | | }) |
| | | ids.forEach(id=>{ |
| | | for(let b=0;b<a.template.length;b++){ |
| | | if(a.template[b].r === id.r){ |
| | | a.template[b].i = id.id |
| | | } |
| | | } |
| | | }) |
| | | }) |
| | | console.log(this.tableList); |
| | | // return |
| | | this.tableList.map(item=>{ |
| | | const mySet0 = new Set(); |
| | | let arr = []; |
| | | let arrItem = []; |
| | | item.template.forEach((m,i)=>{ |
| | | if(m.v.f){ |
| | | this.excelMethodList.push(m) |
| | | } |
| | | let num0 = mySet0.size; |
| | | mySet0.add(m.r) |
| | | let num1 = mySet0.size; |
| | |
| | | item.arr = arr; |
| | | return item |
| | | }) |
| | | console.log(this.tableList); |
| | | this.handleExcelMethod() |
| | | }, |
| | | changeInput(m,code){ |
| | | console.log(2222222222,m,code) |
| | | let r = code.split('-')[1] |
| | | let c = code.split('-')[2] |
| | | }, |
| | | // 当前模板excel函数集处理 |
| | | handleExcelMethod(){ |
| | | if(this.excelMethodList.length>0){ |
| | | this.excelMethodList.map(item=>{ |
| | | item.methodName = item.v.f.split('=')[1].split('(')[0]; |
| | | let valueList = []; |
| | | if(item.v.f.includes(':')){ |
| | | let r0 = null; |
| | | let c0 = null; |
| | | let r1 = null; |
| | | let c1 = null; |
| | | let mode = item.v.f.split('(')[1].split(')')[0]; |
| | | let start = mode.split(':')[0] |
| | | let end = mode.split(':')[1] |
| | | r0 = this.comparisonList.find(j=>j['1']==start.split('')[0])[`0`] |
| | | c0 = start.split('')[1]-1 |
| | | r1 = this.comparisonList.find(j=>j['1']==end.split('')[0])[`0`] |
| | | c1 = end.split('')[1]-1 |
| | | for (let i=Number(r0);i<=r1;i++){ |
| | | for(let u=c0;u<c1+1;u++){ |
| | | valueList.push({ |
| | | r:i, |
| | | c:u |
| | | }) |
| | | } |
| | | } |
| | | item.valueList = valueList; |
| | | }else{ |
| | | let mode = item.v.f.split('(')[1].split(')')[0]; |
| | | // const result = item.v.f.replace(/+|-|*|%|\/|(|)/g, ' ') |
| | | } |
| | | return item; |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |