华西海圻ELN前端工程
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

91 lines
2.7 KiB

<template>
<div>
<el-popconfirm confirm-button-text='确认' cancel-button-text='取消' icon="el-icon-info" icon-color="red"
title="确认删除当前数据?" @confirm="deleteRow(rowIndex)">
<el-button v-if="fillType === 'preFill'" slot="reference" type="text" size="small" class="delete-button">
删除
</el-button>
</el-popconfirm>
<template v-if="fillType === 'actFill'">
<el-button type="text" size="small" @click = "onSubPackage">分装</el-button>
<el-button type="text" size="small" @click = "onStartConfig">开始配置</el-button>
<el-button type="text" size="small" @click = "onConfigComplete">配置完成</el-button>
<el-button type="text" size="small" @click = "onPrintLabel">打印标签</el-button>
</template>
</div>
</template>
<script>
import { EventBus } from "@/utils/eventBus";
export default {
name: "TableOpertaion",
props: {
row: {
type: Object,
default: () => { },
},
columns: {
type: Array,
default: [],
},
rowIndex: {
type: Number,
default: 0,
},
fillType: {
type: String,
default: "preFill",
},
},
mounted() {
EventBus.$on("subPackageSubmit", (data) => {
this.onSubPackageSubmit(data)
})
},
methods: {
// 开始配置
onStartConfig() {
this.$emit("startConfig", this.row)
},
// 配置完成
onConfigComplete() {
this.$emit("configComplete", this.row)
},
// 打印标签
onPrintLabel() {
this.$emit("printLabel", this.row)
},
// 分装
onSubPackage() {
console.log(this.row,this.columns,"this.row")
const {columns,row} = this;
const col = columns.find((item)=>item.myCodeFields);
const {myCodeFields} = col;
const fields = [];
myCodeFields.forEach((key)=>{
fields.push(row[key])
})
EventBus.$emit("showSubPackageDialog",{mybh:fields.join(""),maxVolume:10,volumeUnit:"ml",rowIndex:this.rowIndex})
},
onSubPackageSubmit(data){
if(data.rowIndex === this.rowIndex){
console.log(data,"onSubPackageSubmit")
this.$emit("subPackageSubmit", data)
}
},
// 删除行
deleteRow(index) {
this.$emit("deleteRow", index)
}
}
}
</script>
<style lang="scss" scoped>
.delete-button{
color: red;
}
</style>